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