首頁 > 軟體

Ubuntu 伺服器安裝 MySQL 遠端資料庫的方法

2022-08-18 14:02:59

在 Web 專案中,我們需要使用到遠端資料庫,開發階段也需要連線並檢視資料庫的狀況。騰訊雲、阿里雲等雲平臺提供了遠端資料庫,可直接使用;當然也可以自己在部署 Web 的伺服器上安裝資料庫,將其設定為遠端資料庫,供 Web 應用使用。

本篇介紹如何在 Linux 伺服器上安裝 MySQL 資料庫,並設定為可遠端連線。

在 Ubuntu 上安裝 MySQL

為安裝最新版本的 MySQL,我們可以先更新一下 apt 管理的資源包。

以 sudo 使用者身份登入,執行以下命令:

sudo apt update

待更新完畢後,輸入以下命令,安裝 MySQL:

sudo apt install mysql-server

安裝完成後,MySQL 服務會自動啟動。想驗證 MySQL 正在執行,輸入:

sudo systemctl status mysql

輸出如下圖,即表示已啟動。

開啟遠端連線許可權

編輯 MySQL 組態檔

預設情況下,MySQL 資料庫僅監聽本地連線。若想允許遠端連線資料庫,首先需要修改組態檔,讓 MySQL 可以監聽遠端固定 IP 或所有遠端 IP。

組態檔 mysqld.cnf 路徑一般為 /etc/mysql/mysql.conf.d/mysqld.cnf

輸入以下命令開啟編輯:

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

找到 bind-address 一行,預設該值為 127.0.0.1,僅監聽本地連線。我們將其改為遠端連線 IP 可存取,可以使用萬用字元 IP 地址 0.0.0.0,也可以是固定 IP,僅允許指定 IP 連線。這裡我修改為 0.0.0.0,允許所有 IP 地址存取。

在某些 MySQL 版本的組態檔中,沒有 bind-address 一行,在如上圖的合適位置上新增即可。

更改後,儲存並退出編輯器(使用 Ctrl+X 儲存並退出)。後重啟 MySQL 服務,使新設定生效。

sudo systemctl restart mysql

建立 MySQL 使用者

以 sudo 許可權進入 MySQL 服務:

sudo mysql

進入 MySQL 後,建立一個可遠端連線 MySQL 的使用者,並設定為使用密碼作為認證方式。

CREATE USER 'zewan'@'%' IDENTIFIED WITH mysql_native_password BY 'zewan1234';

上述命令中,% 表示 IP 任意,@ 前的使用者名稱和 BY 後面的密碼修改為自己的資訊。

執行完畢後,使用下列命令可以檢視到所有的 user,包括我們新建的:

SELECT DISTINCT CONCAT('User: ''', user, '''@''', host, ''';') AS quert FROM mysql.user;

接下來,我們賦予該使用者擁有所有資料庫的存取許可權,使其成為新的獨立管理使用者:

GRANT ALL PRIVILEGES ON *.* TO 'zewan'@'%' WITH GRANT OPTION;

最後,重新整理 MySQL 系統許可權相關表,更新快取,並退出 MySQL。

FLUSH PRIVILEGES;
EXIT;

遠端連線 MySQL 資料庫

命令列遠端存取

命令格式如下:

mysql -u <username> -h <mysql_server_ip> -p

Jetbrains 家族 Database 連線

在 IDEA、Pycharm 等軟體中,內建 Database 存取外掛,具備視覺化資料庫表的功能,一般在右側工作列點選展開。

點選加號,選擇 MySQL 作為 Data Source。

在彈出框中,填入遠端資料庫IP(Host)、使用者名稱(User)、密碼(Password),後點選 Test connection 嘗試連線。出現下圖成功標識,即表示可成功連線資料庫,隨後點選應用(Apply)即可。

隨後,軟體中會出現 console,我們可以在這裡輸入 MySQL 語句並點選綠色啟動按鈕執行命令,同時可雙擊右側彈出欄中的資料庫表,檢視資訊。

附上 MySQL 建立資料庫,並指定編碼 UTF8 的命令:

CREATE DATABASE `mydb` CHARACTER SET utf8 COLLATE utf8_general_ci;

到此這篇關於Ubuntu 伺服器安裝 MySQL 遠端資料庫的文章就介紹到這了,更多相關Ubuntu 安裝 MySQL遠端資料庫內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com