CentOS 7.2 安裝 MySQL 5.7.13

天府雲創發表於2017-03-03

1. 下載mysql的repo源

CentOS 7.2的yum源中預設沒有mysql,要先下載mysql的repo源

wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm

2. 安裝mysql57-community-release-el7-8.noarch.rpm包

rpm -ivh mysql57-community-release-el7-8.noarch.rpm  --nodeps --force

安裝這個包後,會獲得兩個mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo

3.安裝mysql

yum install mysql-server

4. 啟動mysql服務

檢視MySQL服務是否已啟動

service mysqld status

啟動服務

systemctl start mysqld

5. 重置root密碼

MySQL5.7會在安裝後為root使用者生成一個隨機密碼,而不是像以往版本的空密碼。 
可以安全模式修改root登入密碼或者用隨機密碼登入修改密碼。下面用隨機密碼方式

MySQL為root使用者生成的隨機密碼通過mysqld.log檔案可以查詢到:

grep 'temporary password' /var/log/mysqld.log

修改root使用者密碼:(MySQL的密碼策略比較複雜,過於簡單的密碼會被拒絕)

mysql -u root -p
mysql> Enter password: (輸入剛才查詢到的隨機密碼)
mysql> SET PASSWORD FOR 'root'@'localhost'= "Root-123";
mysql> exit

用root新密碼登入:

mysql -u root -pRoot-123

如果上面的方式不能修改可以使用下面安全模式修改root:

關閉服務
systemctl stop mysqld.service
vi /etc/my.cnf 
mysqld下面新增skip-grant-tables 儲存退出啟動服務
systemctl start mysqld.service
mysql -u root 不用密碼直接回車
use mysql
update user set authentication_string=password('Root-123') where User='root' and Host='localhost';
flush privileges;
exit;
vi /etc/my.cnf 把 skip-grant-tables 一句刪除儲存退出重啟mysql服務 
systemctl restart mysqld.service
再次登入即可
mysql -u root -pRoot-123

如果進行操作出現下面的提示:
You must reset your password using ALTER USER statement before executing this statement.
就再設定一遍密碼
set password = password('Root-123');

6. 開放3306埠

允許使用使用者名稱root密碼Root-123456從任何主機連線到mysql伺服器

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Root-123456' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;
mysql>exit;

開啟防火牆mysql 3306埠的外部訪問

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

相關文章