在CentOS中默認安裝有MariaDB,這個是MySQL的分支,但為了需要,還是要在系統中安裝MySQL,而且安裝完成之后可以直接覆蓋掉MariaDB。
1 下載並安裝MySQL官方的 Yum Repository
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
使用上面的命令就直接下載了安裝用的Yum Repository,大概25KB的樣子,然后就可以直接yum安裝了。
yum -y install mysql57-community-release-el7-10.noarch.rpm
之后就開始安裝MySQL服務器。
yum -y install mysql-community-server
這步可能會花些時間,安裝完成后就會覆蓋掉之前的mariadb。

至此MySQL就安裝完成了,然后是對MySQL的一些設置。
2 MySQL數據庫設置
首先啟動MySQL
systemctl start mysqld.service
查看MySQL運行狀態,運行狀態如圖:
systemctl status mysqld.service

此時MySQL已經開始正常運行,不過要想進入MySQL還得先找出此時root用戶的密碼,通過如下命令可以在日志文件中找出密碼:
grep "password" /var/log/mysqld.log

如下命令進入數據庫:
mysql -uroot -p
輸入初始密碼(是上面圖片最后面的 no;e!5>>alfg),此時不能做任何事情,因為MySQL默認必須修改密碼之后才能操作數據庫:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
其中‘new password’替換成你要設置的密碼,注意:密碼設置必須要大小寫字母數字和特殊符號(,/';:等),不然不能配置成功
如果要修改為root這樣的弱密碼,需要進行以下配置:
查看密碼策略
show variables like '%password%';

修改密碼策略
vi /etc/my.cnf
添加validate_password_policy配置
選擇0(LOW),1(MEDIUM),2(STRONG)其中一種,選擇2需要提供密碼字典文件
#添加validate_password_policy配置 validate_password_policy=0 #關閉密碼策略 validate_password = off
重啟mysql服務使配置生效
systemctl restart mysqld
然后就可以修改為弱密碼啦
3 開啟mysql的遠程訪問
執行以下命令開啟遠程訪問限制(注意:下面命令開啟的IP是 192.168.0.1,如要開啟所有的,用%代替IP):
grant all privileges on *.* to 'root'@'192.168.0.1' identified by 'password' with grant option;
然后再輸入下面兩行命令
flush privileges;
exit;

4 為firewalld添加開放端口
添加mysql端口3306
firewall-cmd --zone=public --add-port=3306/tcp --permanent
然后再重新載入
firewall-cmd --reload

5 修改mysql的字符編碼(不修改會產生中文亂碼問題)
顯示原來編碼:
show variables like '%character%';

修改/etc/my.cnf
[mysqld] character_set_server=utf8 init_connect='SET NAMES utf8'
重啟數據庫

