在Ubuntu上安裝和配置MySQL保姆級教程
要求
你將需要在系統(tǒng)上擁有提升的權限 (root)。你可以通過執(zhí)行以下命令來執(zhí)行此操作。
sudo su
安裝MySQL
本文中選擇的 Ubuntu 版本是 Ubuntu 20.04 LTS,使用 MySQL Linux 版本是 5.7 版做示例。要開始安裝,可按照以下步驟操作:
步驟一確保系統(tǒng)中的所有軟件包和存儲庫都是最新的,可以通過運行以下命令來執(zhí)行此操作:
sudo apt update
更新系統(tǒng)包
現(xiàn)在,我們將通過 apt 包管理器安裝 MySQL,執(zhí)行下面的命令。
sudo apt install mysql-server
安裝 MySQL 數(shù)據庫
安裝成功后,mysql-service 應該會自動啟動。你可以通過執(zhí)行以下命令來確認。
sudo systemctl mysql-server
你應該得到與下圖類似的輸出。
MySQL 狀態(tài)
服務未運行時,可執(zhí)行以下命令:
sudo /etc/init.d/mysql start
驗證MySQL-Server
你可以通過運行以下命令來驗證安裝結果,該命令將輸出系統(tǒng)中所安裝的 MySQL 版本和發(fā)行版。
mysql --version
MySQL 版本分布
保護MySQL-Server
既然 MySQL Server 安裝成功了,我們則需要設置一些參數(shù)來保證以后配置的服務器和數(shù)據庫的安全。
一般情況下,MySQL Server 包安裝完成后,mysql-secure-installation 實用程序將自動啟動。但是,如果你沒有自動啟動,可執(zhí)行以下命令:
sudo mysql_secure_installation
這將會一個提示,詢問是否驗證密碼插件。它通過檢查用戶密碼的強度來增強 MySQL Server 的安全性,允許用戶僅設置強密碼。按 Y 接受 VALIDATION 或按 RETURN 鍵跳過。
接受密碼驗證插件
接下來,會看到設置 root 密碼的提示。輸入密碼并按回車鍵。注意,為了安全,在控制臺中不會顯示鍵入的任何內容。
輸入 MySQL root密碼
接下來,會看到一個提示,詢問你是否刪除所有匿名用戶,輸入 Y 表示是。
移除匿名用戶
以root身份登錄并調整用戶身份驗證
MySQL Server 帶有一個客戶端實用程序,可以從 Linux 終端訪問數(shù)據庫并與之交互。
通常,未做任何配置時,在 Ubuntu 上全新安裝 MySQL 后,訪問服務器的用戶將使用 auth_socket 插件進行身份驗證。
auth_socket 的使用會阻止服務器使用密碼對用戶進行身份驗證。它不僅會引發(fā)安全問題,而且還會使用戶無法借助外部程序(如 phpMyAdmin)訪問數(shù)據庫。因此我們需要將身份驗證方法從 auth_socket 更改為使用 mysql_native_password。
為此需要打開 MySQL 控制臺,并在 Linux 終端上運行以下命令。
sudo mysql
登錄mysql
現(xiàn)在,我們需要檢查數(shù)據庫對不同用戶使用的身份驗證方法。你可以通過運行以下命令來執(zhí)行此操作。
SELECT user,authentication_string,plugin,host FROM mysql.user;
檢查用戶身份驗證方法
從上圖中,我們可以確認 root 用戶確實使用 auth_socket 進行了身份驗證。我們需要使用下面的“ALTER USER”命令切換到密碼驗證的使用。另外需要注意的是,確保使用較強的安全密碼(應超過 8 個字符,結合數(shù)字、字符串和特殊符號等),因為它將替換你在執(zhí)行上述命令“sudo mysql_secure_installation” 時設置的密碼。運行以下命令。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';
更改root身份驗證
注意,上圖中亮綠色突出顯示的文本是你設置安全密碼的地方?,F(xiàn)在,我們需要重新加載授權表并將更改更新到 MySQL 數(shù)據庫。通過執(zhí)行以下命令來執(zhí)行此操作。
FLUSH PRIVILEGES;
刷新權限
完成后,我們需要確認 root 用戶不再使用 auth_socket 進行身份驗證。通過再次運行以下命令來執(zhí)行此操作。
SELECT user,authentication_string,plugin,host FROM mysql.user;
檢查root身份驗證
從上圖中,我們看到 root 身份驗證方法已從“auth_socket”更改為“mysql_native_password”。
由于我們更改了 root 的身份驗證方法,因此我們無法使用之前使用的相同命令打開 MySQL 控制臺。即“sudo mysql”。我們需要包括用戶名和密碼參數(shù),如下所示。
mysql -u root -p
“-u”表示用戶,這里是“root”,“-p”代表“password”,一旦你按下 Enter 鍵,服務器就會提示你輸入密碼。
mysql -u root -p
創(chuàng)建新用戶
一切都設置好后,你可以創(chuàng)建一個新用戶,并授予該用戶適當?shù)臋嘞?。我們將?chuàng)建一個用戶 'PyDataStudio' 并分配對所有數(shù)據庫表的權限以及更改、刪除和添加用戶權限的權限。逐行執(zhí)行下面的命令。
CREATE USER 'PyDataStudio'@'localhost' IDENTIFIED BY 'strong_password';
GRANT ALL PRIVILEGES ON *.* TO 'PyDataStudio'@'localhost' WITH GRANT OPTION;
第一個命令將創(chuàng)建新用戶,第二個命令分配所需的權限。
我們現(xiàn)在可以通過運行以下命令來測試我們的新用戶。
mysql -u PyDataStudio -p
測試我們的新用戶
在Ubuntu上安裝MySQL-Server
在 Ubuntu 服務器上安裝 MySQL-server 與上述步驟沒有太大區(qū)別。但是,由于服務器是遠程訪問的,我們還需要為服務器啟用遠程訪問。
要安裝數(shù)據庫并配置安全選項,只需在終端上逐行運行以下命令。
sudo apt update
sudo apt install mysql-server
sudo mysql_secure_installation
安裝成功后,需要啟用遠程訪問。從邏輯上講,我們需要在 Ubuntu 服務器防火墻上打開一個端口,以便 MySQL 數(shù)據庫進行通信。默認情況下,MySQL 服務在 3306 端口上運行。執(zhí)行以下命令。
sudo ufw enable
sudo ufw allow mysql
啟用遠程訪問
為了增強 MySQL 數(shù)據庫的可靠性和可訪問性,可以將 MySQL-server 服務配置為在啟動時開始運行。執(zhí)行以下命令。
sudo systemctl enable mysql
在啟動時啟用 MySQL Server
現(xiàn)在需要配置服務器的接口,從而服務器能夠偵聽遠程可訪問的接口。我們需要編輯“mysqld.cnf”文件。運行以下命令。
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
配置綁定地址
默認情況下,綁定地址為“127.0.0.1”。為公網接口添加綁定地址,為服務網絡接口添加另一個綁定地址。你可以將所有 IP 地址的綁定地址配置為“0.0.0.0”。
*博客內容為網友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)漏電保護器相關文章:漏電保護器原理
手機電池相關文章:手機電池修復
linux相關文章:linux教程
存儲器相關文章:存儲器原理
電流變送器相關文章:電流變送器原理 蜂鳴器相關文章:蜂鳴器原理 電化學工作站相關文章:電化學工作站原理 漏電開關相關文章:漏電開關原理 漏電保護開關相關文章:漏電保護開關原理 離子色譜儀相關文章:離子色譜儀原理 網線測試儀相關文章:網線測試儀原理