文本中,云朵君將和大家一起學(xué)習(xí)如何在 Linux Ubuntu 服務(wù)器上安裝 MySQL Server。我們還將詳細(xì)學(xué)習(xí)如何配置 MySQL 安全選項(xiàng)、調(diào)整身份驗(yàn)證方法和創(chuàng)建新用戶的步驟。MySQL 是最常見的開源關(guān)系數(shù)據(jù)庫管理系統(tǒng) (RDBMS) 之一,它基于結(jié)構(gòu)化查詢語言 (SQL),這是一種用于管理數(shù)據(jù)庫中保存的數(shù)據(jù)的編程語言。 要求你將需要在系統(tǒng)上擁有提升的權(quán)限 (root)。你可以通過執(zhí)行以下命令來執(zhí)行此操作。 sudo su 安裝 MySQL-Server本文中選擇的 Ubuntu 版本是 Ubuntu 20.04 LTS,使用 MySQL Linux 版本是 5.7 版做示例。要開始安裝,可按照以下步驟操作: 步驟一確保系統(tǒng)中的所有軟件包和存儲庫都是最新的,可以通過運(yùn)行以下命令來執(zhí)行此操作:
步驟二現(xiàn)在,我們將通過 apt 包管理器安裝 MySQL,執(zhí)行下面的命令。 sudo apt install mysql-server 步驟三安裝成功后,mysql-service 應(yīng)該會自動啟動。你可以通過執(zhí)行以下命令來確認(rèn)。
你應(yīng)該得到與下圖類似的輸出。 服務(wù)未運(yùn)行時(shí),可執(zhí)行以下命令: sudo /etc/init.d/mysql start 驗(yàn)證 MySQL-Server你可以通過運(yùn)行以下命令來驗(yàn)證安裝結(jié)果,該命令將輸出系統(tǒng)中所安裝的 MySQL 版本和發(fā)行版。
保護(hù)MySQL-Server既然 MySQL Server 安裝成功了,我們則需要設(shè)置一些參數(shù)來保證以后配置的服務(wù)器和數(shù)據(jù)庫的安全。 一般情況下,MySQL Server 包安裝完成后,mysql-secure-installation 實(shí)用程序?qū)⒆詣訂印5?,如果你沒有自動啟動,可執(zhí)行以下命令: sudo mysql_secure_installation 這將會一個(gè)提示,詢問是否驗(yàn)證密碼插件。它通過檢查用戶密碼的強(qiáng)度來增強(qiáng) MySQL Server 的安全性,允許用戶僅設(shè)置強(qiáng)密碼。按 Y 接受 VALIDATION 或按 RETURN 鍵跳過。 接下來,會看到設(shè)置 root 密碼的提示。輸入密碼并按回車鍵。注意,為了安全,在控制臺中不會顯示鍵入的任何內(nèi)容。 接下來,會看到一個(gè)提示,詢問你是否刪除所有匿名用戶,輸入 Y 表示是。 以root身份登錄并調(diào)整用戶身份驗(yàn)證MySQL Server 帶有一個(gè)客戶端實(shí)用程序,可以從 Linux 終端訪問數(shù)據(jù)庫并與之交互。 通常,未做任何配置時(shí),在 Ubuntu 上全新安裝 MySQL 后,訪問服務(wù)器的用戶將使用 auth_socket 插件進(jìn)行身份驗(yàn)證。 auth_socket 的使用會阻止服務(wù)器使用密碼對用戶進(jìn)行身份驗(yàn)證。它不僅會引發(fā)安全問題,而且還會使用戶無法借助外部程序(如 phpMyAdmin)訪問數(shù)據(jù)庫。因此我們需要將身份驗(yàn)證方法從 auth_socket 更改為使用 mysql_native_password。 為此需要打開 MySQL 控制臺,并在 Linux 終端上運(yùn)行以下命令。
現(xiàn)在,我們需要檢查數(shù)據(jù)庫對不同用戶使用的身份驗(yàn)證方法。你可以通過運(yùn)行以下命令來執(zhí)行此操作。 SELECT user,authentication_string,plugin,host FROM mysql.user; 從上圖中,我們可以確認(rèn) root 用戶確實(shí)使用 auth_socket 進(jìn)行了身份驗(yàn)證。我們需要使用下面的“ALTER USER”命令切換到密碼驗(yàn)證的使用。另外需要注意的是,確保使用較強(qiáng)的安全密碼(應(yīng)超過 8 個(gè)字符,結(jié)合數(shù)字、字符串和特殊符號等),因?yàn)樗鼘⑻鎿Q你在執(zhí)行上述命令“sudo mysql_secure_installation” 時(shí)設(shè)置的密碼。運(yùn)行以下命令。
注意,上圖中亮綠色突出顯示的文本是你設(shè)置安全密碼的地方。現(xiàn)在,我們需要重新加載授權(quán)表并將更改更新到 MySQL 數(shù)據(jù)庫。通過執(zhí)行以下命令來執(zhí)行此操作。 FLUSH PRIVILEGES; 完成后,我們需要確認(rèn) root 用戶不再使用 auth_socket 進(jìn)行身份驗(yàn)證。通過再次運(yùn)行以下命令來執(zhí)行此操作。
從上圖中,我們看到 root 身份驗(yàn)證方法已從“auth_socket”更改為“mysql_native_password”。 由于我們更改了 root 的身份驗(yàn)證方法,因此我們無法使用之前使用的相同命令打開 MySQL 控制臺。即“sudo mysql”。我們需要包括用戶名和密碼參數(shù),如下所示。 mysql -u root -p “-u”表示用戶,這里是“root”,“-p”代表“password”,一旦你按下 Enter 鍵,服務(wù)器就會提示你輸入密碼。 創(chuàng)建新用戶一切都設(shè)置好后,你可以創(chuàng)建一個(gè)新用戶,并授予該用戶適當(dāng)?shù)臋?quán)限。我們將創(chuàng)建一個(gè)用戶 'PyDataStudio' 并分配對所有數(shù)據(jù)庫表的權(quán)限以及更改、刪除和添加用戶權(quán)限的權(quán)限。逐行執(zhí)行下面的命令。
第一個(gè)命令將創(chuàng)建新用戶,第二個(gè)命令分配所需的權(quán)限。 我們現(xiàn)在可以通過運(yùn)行以下命令來測試我們的新用戶。 mysql -u PyDataStudio -p 在 Ubuntu 上安裝 MySQL-Server在 Ubuntu 服務(wù)器上安裝 MySQL-server 與上述步驟沒有太大區(qū)別。但是,由于服務(wù)器是遠(yuǎn)程訪問的,我們還需要為服務(wù)器啟用遠(yuǎn)程訪問。 要安裝數(shù)據(jù)庫并配置安全選項(xiàng),只需在終端上逐行運(yùn)行以下命令。
安裝成功后,需要啟用遠(yuǎn)程訪問。從邏輯上講,我們需要在 Ubuntu 服務(wù)器防火墻上打開一個(gè)端口,以便 MySQL 數(shù)據(jù)庫進(jìn)行通信。默認(rèn)情況下,MySQL 服務(wù)在 3306 端口上運(yùn)行。執(zhí)行以下命令。 sudo ufw enable 為了增強(qiáng) MySQL 數(shù)據(jù)庫的可靠性和可訪問性,可以將 MySQL-server 服務(wù)配置為在啟動時(shí)開始運(yùn)行。執(zhí)行以下命令。
現(xiàn)在需要配置服務(wù)器的接口,從而服務(wù)器能夠偵聽遠(yuǎn)程可訪問的接口。我們需要編輯“mysqld.cnf”文件。運(yùn)行以下命令。 sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf 默認(rèn)情況下,綁定地址為“127.0.0.1”。為公網(wǎng)接口添加綁定地址,為服務(wù)網(wǎng)絡(luò)接口添加另一個(gè)綁定地址。你可以將所有 IP 地址的綁定地址配置為“0.0.0.0”。 |
|