博客專欄

EEPW首頁 > 博客 > 在Ubuntu上安裝和配置MySQL保姆級教程

在Ubuntu上安裝和配置MySQL保姆級教程

發(fā)布人:AI科技大本營 時間:2022-09-17 來源:工程師 發(fā)布文章
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

本文中選擇的 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ù)據(jù)庫

步驟三

安裝成功后,mysql-service 應(yīng)該會自動啟動。你可以通過執(zhí)行以下命令來確認(rèn)。

sudo systemctl mysql-server

你應(yīng)該得到與下圖類似的輸出。

圖片MySQL 狀態(tài)

服務(wù)未運行時,可執(zhí)行以下命令:

sudo /etc/init.d/mysql start

圖片

驗證MySQL-Server

你可以通過運行以下命令來驗證安裝結(jié)果,該命令將輸出系統(tǒng)中所安裝的 MySQL 版本和發(fā)行版。

mysql --version

圖片MySQL 版本分布

圖片

保護(hù)MySQL-Server

既然 MySQL Server 安裝成功了,我們則需要設(shè)置一些參數(shù)來保證以后配置的服務(wù)器和數(shù)據(jù)庫的安全。

一般情況下,MySQL Server 包安裝完成后,mysql-secure-installation 實用程序?qū)⒆詣訂印5?,如果你沒有自動啟動,可執(zhí)行以下命令:

sudo mysql_secure_installation

這將會一個提示,詢問是否驗證密碼插件。它通過檢查用戶密碼的強度來增強 MySQL Server 的安全性,允許用戶僅設(shè)置強密碼。按 Y 接受 VALIDATION 或按 RETURN 鍵跳過。

圖片接受密碼驗證插件

接下來,會看到設(shè)置 root 密碼的提示。輸入密碼并按回車鍵。注意,為了安全,在控制臺中不會顯示鍵入的任何內(nèi)容。

圖片輸入 MySQL root密碼

接下來,會看到一個提示,詢問你是否刪除所有匿名用戶,輸入 Y 表示是。

圖片移除匿名用戶

圖片

以root身份登錄并調(diào)整用戶身份驗證

MySQL Server 帶有一個客戶端實用程序,可以從 Linux 終端訪問數(shù)據(jù)庫并與之交互。

通常,未做任何配置時,在 Ubuntu 上全新安裝 MySQL 后,訪問服務(wù)器的用戶將使用 auth_socket 插件進(jìn)行身份驗證。

auth_socket 的使用會阻止服務(wù)器使用密碼對用戶進(jìn)行身份驗證。它不僅會引發(fā)安全問題,而且還會使用戶無法借助外部程序(如 phpMyAdmin)訪問數(shù)據(jù)庫。因此我們需要將身份驗證方法從 auth_socket 更改為使用 mysql_native_password。

為此需要打開 MySQL 控制臺,并在 Linux 終端上運行以下命令。

sudo mysql

圖片登錄mysql

現(xiàn)在,我們需要檢查數(shù)據(jù)庫對不同用戶使用的身份驗證方法。你可以通過運行以下命令來執(zhí)行此操作。

SELECT user,authentication_string,plugin,host FROM mysql.user;

圖片檢查用戶身份驗證方法

從上圖中,我們可以確認(rèn) root 用戶確實使用 auth_socket 進(jìn)行了身份驗證。我們需要使用下面的“ALTER USER”命令切換到密碼驗證的使用。另外需要注意的是,確保使用較強的安全密碼(應(yīng)超過 8 個字符,結(jié)合數(shù)字、字符串和特殊符號等),因為它將替換你在執(zhí)行上述命令“sudo mysql_secure_installation” 時設(shè)置的密碼。運行以下命令。

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';

圖片更改root身份驗證

注意,上圖中亮綠色突出顯示的文本是你設(shè)置安全密碼的地方?,F(xiàn)在,我們需要重新加載授權(quán)表并將更改更新到 MySQL 數(shù)據(jù)庫。通過執(zhí)行以下命令來執(zhí)行此操作。

FLUSH PRIVILEGES;

圖片刷新權(quán)限

完成后,我們需要確認(rèn) root 用戶不再使用 auth_socket 進(jìn)行身份驗證。通過再次運行以下命令來執(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 鍵,服務(wù)器就會提示你輸入密碼。


圖片mysql -u root -p圖片創(chuàng)建新用戶

一切都設(shè)置好后,你可以創(chuàng)建一個新用戶,并授予該用戶適當(dāng)?shù)臋?quán)限。我們將創(chuàng)建一個用戶 'PyDataStudio' 并分配對所有數(shù)據(jù)庫表的權(quán)限以及更改、刪除和添加用戶權(quán)限的權(quán)限。逐行執(zhí)行下面的命令。

CREATE USER 'PyDataStudio'@'localhost' IDENTIFIED BY 'strong_password';

GRANT ALL PRIVILEGES ON *.* TO 'PyDataStudio'@'localhost' WITH GRANT OPTION;

第一個命令將創(chuàng)建新用戶,第二個命令分配所需的權(quán)限。

我們現(xiàn)在可以通過運行以下命令來測試我們的新用戶。

mysql -u PyDataStudio -p

圖片

測試我們的新用戶

圖片在Ubuntu上安裝MySQL-Server

在 Ubuntu 服務(wù)器上安裝 MySQL-server 與上述步驟沒有太大區(qū)別。但是,由于服務(wù)器是遠(yuǎn)程訪問的,我們還需要為服務(wù)器啟用遠(yuǎn)程訪問。

要安裝數(shù)據(jù)庫并配置安全選項,只需在終端上逐行運行以下命令。

sudo apt update
sudo apt install mysql-server
sudo mysql_secure_installation

安裝成功后,需要啟用遠(yuǎn)程訪問。從邏輯上講,我們需要在 Ubuntu 服務(wù)器防火墻上打開一個端口,以便 MySQL 數(shù)據(jù)庫進(jìn)行通信。默認(rèn)情況下,MySQL 服務(wù)在 3306 端口上運行。執(zhí)行以下命令。

sudo ufw enable
sudo ufw allow mysql

圖片圖片啟用遠(yuǎn)程訪問

為了增強 MySQL 數(shù)據(jù)庫的可靠性和可訪問性,可以將 MySQL-server 服務(wù)配置為在啟動時開始運行。執(zhí)行以下命令。

sudo systemctl enable mysql

圖片在啟動時啟用 MySQL Server

現(xiàn)在需要配置服務(wù)器的接口,從而服務(wù)器能夠偵聽遠(yuǎn)程可訪問的接口。我們需要編輯“mysqld.cnf”文件。運行以下命令。

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

圖片配置綁定地址

默認(rèn)情況下,綁定地址為“127.0.0.1”。為公網(wǎng)接口添加綁定地址,為服務(wù)網(wǎng)絡(luò)接口添加另一個綁定地址。你可以將所有 IP 地址的綁定地址配置為“0.0.0.0”。


*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

漏電保護(hù)器相關(guān)文章:漏電保護(hù)器原理


手機電池相關(guān)文章:手機電池修復(fù)


linux相關(guān)文章:linux教程


存儲器相關(guān)文章:存儲器原理


電流變送器相關(guān)文章:電流變送器原理
蜂鳴器相關(guān)文章:蜂鳴器原理
電化學(xué)工作站相關(guān)文章:電化學(xué)工作站原理
漏電開關(guān)相關(guān)文章:漏電開關(guān)原理
漏電保護(hù)開關(guān)相關(guān)文章:漏電保護(hù)開關(guān)原理
離子色譜儀相關(guān)文章:離子色譜儀原理
網(wǎng)線測試儀相關(guān)文章:網(wǎng)線測試儀原理


關(guān)鍵詞: AI

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉