在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'
重啓數據庫