2019/11/25, CentOS 8, MySQL 8.0
摘要: CentOS 8 安裝MySQL 8.0 並配置遠程登錄
安裝MySQL8.0
使用最新的包管理器安裝MySQL
sudo dnf install @mysql
開啟啟動
安裝完成后,運行以下命令來啟動MySQL服務並使它在啟動時自動啟動:
sudo systemctl enable --now mysqld
要檢查MySQL服務器是否正在運行,請輸入:
sudo systemctl status mysqld
添加密碼及安全設置
運行mysql_secure_installation腳本,該腳本執行一些與安全性相關的操作並設置MySQL根密碼:
sudo mysql_secure_installation
步驟如下:
-
要求你配置VALIDATE PASSWORD component(驗證密碼組件): 輸入y ,回車進入該配置
- 選擇密碼驗證策略等級, 我這里選擇0 (low),回車
- 輸入新密碼兩次
- 確認是否繼續使用提供的密碼?輸入y ,回車
- 移除匿名用戶? 輸入y ,回車
- 不允許root遠程登陸? 我這里需要遠程登陸,所以輸入n ,回車
-
移除test數據庫? 輸入y ,回車
-
重新載入權限表? 輸入y ,回車
配置遠程登陸
如果需要設置root賬戶遠程登陸,上一步驟中,不允許root遠程登陸?
這一步需要設為n。
接下來本機登錄MySQL,將root用戶的host字段設為'%',意為接受root所有IP地址的登錄請求:
本機登錄MySQL:
mysql -uroot -p<上面步驟中設置的密碼>
回車后即可登錄,接下來終端變成了mysql>
開頭:
接着繼續執行mysql語句,將將root用戶的host字段設為'%':
use mysql;
update user set host='%' where user='root';
flush privileges;
設置完成后輸入exit退出mysql,回到終端shell界面,接着開啟系統防火牆的3306端口:
sudo firewall-cmd --add-port=3306/tcp --permanent
sudo firewall-cmd --reload
關閉MySQL主機查詢dns
MySQL會反向解析遠程連接地址的dns記錄,如果MySQL主機無法連接外網,則dns可能無法解析成功,導致第一次連接MySQL速度很慢,所以在配置中可以關閉該功能。
參考文檔
打開/etc/my.cnf
文件,添加以下配置:
[mysqld]
skip-name-resolve
重啟服務
sudo systemctl restart mysqld
本機測試安裝后,MySQL8.0默認已經是utf8mb4字符集,所以字符集不再修改