在CentOS中默認安裝有MariaDB,這個是MySQL的分支,但為了需要,還是要在系統中安裝MySQL,而且安裝完成之后可以直接覆蓋掉MariaDB。
1、首先查看是否已經安裝MySQL
方法一:
rpm -qa | grep mysql
方法二:
yum list installed | grep mysql
如果已經安裝,則可以刪除:
yum -y remove (查詢出來的MySQL的包)
2、下載,安裝
下載 mysql57-community-release-el7-10
[root@localhost ~]#
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的一些設置。
3、MySQL數據庫設置
首先啟動MySQL:
systemctl start mysqld.service
查看MySQL運行狀態:
systemctl status mysqld.service

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

如下命令進入數據庫:
mysql -uroot -p
輸入初始密碼,此時不能做任何事情,因為MySQL默認必須修改密碼之后才能操作數據庫。
通過如下命令,來修改root密碼:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
這里有個問題,新密碼設置的時候如果設置的過於簡單會報錯:

原因是因為MySQL有密碼設置的規范,具體是與validate_password_policy的值有關:

MySQL完整的初始密碼規則可以通過如下命令查看:
mysql> SHOW VARIABLES LIKE 'validate_password%'; +--------------------------------------+-------+ | Variable_name | Value | +--------------------------------------+-------+ | validate_password_check_user_name | OFF | | validate_password_dictionary_file | | | validate_password_length | 4 | | validate_password_mixed_case_count | 1 | | validate_password_number_count | 1 | | validate_password_policy | LOW | | validate_password_special_char_count | 1 | +--------------------------------------+-------+ 7 rows in set (0.01 sec)
密碼的長度是由validate_password_length決定的;
初始情況下第一個的值是ON,validate_password_length是8。可以通過如下命令修改:
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
此時密碼就可以設置的很簡單。
因為安裝了Yum Repository,以后每次yum操作都會自動更新,需要把這個卸載掉:
yum -y remove mysql57-community-release-el7-10.noarch
4、配置遠程連接
假設用戶名為:root,密碼是:123456
在 MySQL 中輸入: GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
然后刷新規則輸入: flush privileges;
5、 為firewalld添加開放端口3306
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
6、更改mysql的語言
首先重新登錄mysql,然后輸入status:

可以看到,綠色箭頭處不是utf-8
因此我們先退出mysql,然后再到、etc目錄下的my.cnf文件下修改一下文件內容:
vi /etc/my.cnf

進入文件后,新增四行代碼:
[client] default-character-set=utf8 character-set-server=utf8 collation-server=utf8_general_ci

保存更改后的my.cnf文件后,重啟下mysql,然后輸入status再次查看,你就會發現變化啦。
systemctl restart mysqld.service

注:如果充值root密碼,則輸入如下命令:set password = password('root');
