在本文中,我們將向你展示如何在CentOS 8操作系統上安裝MySQL 8.0,可從默認的CentOS 8存儲庫中安裝最新版本的MySQL數據庫服務器8.0版,CentOS 8還提供了MariaDB 10.3,它是MySQL 5.7的直接替代品,但有一些限制,如果你的應用程序與MySQL 8.0不兼容,請安裝MariaDB 10.3,參考在CentOS 7服務器中安裝MariaDB 10.4的方法。
在CentOS 8上安裝MySQL 8.0
通過以root用戶或具有sudo特權的用戶身份使用CentOS軟件包管理器來安裝MySQL 8.0服務器:
$ sudo dnf install @mysql
@mysql模塊將安裝MySQL及其所有依賴項。
安裝完成后,通過運行以下命令來啟動MySQL服務並使它在啟動時自動啟動:
$ sudo systemctl enable --now mysqld
要檢查MySQL服務器是否正在運行,請輸入:
$ sudo systemctl status mysqld
返回信息如下:
mysqld.service - MySQL 8.0 database server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2019-10-17 22:09:39 UTC; 15s ago
注:說明安裝MySQL 8.0成功了。
保護MySQL的操作
運行mysql_secure_installation腳本,該腳本執行一些與安全性相關的操作並設置MySQL根密碼:
$ sudo mysql_secure_installation
系統將要求你配置VALIDATE PASSWORD PLUGIN(驗證密碼插件),該插件用於測試MySQL用戶密碼的強度並提高安全性,密碼驗證策略分為三個級別:低、中和強,如果你不想設置驗證密碼插件,請按Enter。
在下一個提示符下,將要求你設置MySQL root用戶的密碼,完成此操作后,腳本還將要求你刪除匿名用戶,限制root用戶對本地計算機的訪問,並刪除測試數據庫,你應該對所有問題回答“是”。
要從命令行與MySQL服務器進行交互,請使用MySQL客戶端實用程序,它作為依賴項安裝,通過鍵入以下內容測試根訪問權限:
$ mysql -u root -p
在出現提示時輸入root密碼,然后將顯示MySQL shell,如下所示:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.0.17 Source distribution
至此,已經在CentOS 8服務器上安裝並保護了MySQL 8.0,並准備使用它。
身份驗證的操作
由於CentOS 8中的某些客戶端工具和庫與caching_sha2_password方法不兼容,因此CentOS 8存儲庫中包含的MySQL 8.0服務器設置為使用舊的mysql_native_password身份驗證插件,該方法在上游MySQL 8.0發行版中設置為默認。
對於大多數設置,mysql_native_password方法應該沒問題,但是,如果你想將默認身份驗證插件更改為caching_sha2_password,這樣可以更快並提供更好的安全性,請打開以下配置文件:
$ sudo vim /etc/my.cnf.d/mysql-default-authentication-plugin.cnf
將default_authentication_plugin的值更改為caching_sha2_password:
[mysqld]
default_authentication_plugin=caching_sha2_password
關閉並保存文件,然后重新啟動MySQL服務器以使更改生效:
$ sudo systemctl restart mysqld
結論
CentOS 8隨MySQL 8.0一起發行,安裝就像鍵入dnf install @mysql一樣簡單。
現在你的MySQL 8服務器已啟動並正在運行,可以連接到MySQL Shell,並開始創建新的數據庫和用戶。
