< 返回新聞公共列表

允許MySQL遠程連接的教程

發(fā)布時間:2023-06-30 15:12:11

在本教程中,小編將引導(dǎo)大家逐步完成允許遠程連接Linux系統(tǒng)上的MySQL服務(wù)器的說明。這些說明應(yīng)該獨立于我們使用

的任何Linux發(fā)行版而工作。在本教程中我們將學(xué)習(xí):

如何允許遠程連接MySQL服務(wù)器?

如何通過系統(tǒng)防火墻允許遠程連接MySQL?

如何創(chuàng)建或更改MySQL用戶以允許遠程連接?


允許MySQL遠程連接的教程.jpeg


允許遠程連接到MySQL數(shù)據(jù)庫的過程分為三步。

首先,我們需要通過在MySQL配置文件中配置公共綁定地址來將MySQL服務(wù)設(shè)置為可從遠程計算機訪問。

其次,我們需要允許通過系統(tǒng)防火墻進行遠程訪問。默認情況下,MySQL在端口3306上運行,因此需要允許到該端口的

連接。

最后,我們需要創(chuàng)建一個新用戶或編輯現(xiàn)有用戶,以使其可以從遠程 IP 地址訪問。我們可以選擇允許所有IP地址或僅允

許特定IP地址。


一、配置MySQL綁定地址

1、我們將從打開/etc/mysql/mysql.cnf文件開始。使用root權(quán)限,在nano或我們喜歡的文本編輯器中打開它。

$ sudo nano /etc/mysql/mysql.cnf

2、bind-address找到該部分下方的設(shè)置[mysqld]。默認情況下,當(dāng)前應(yīng)配置為環(huán)回地址127.0.0.1。刪除該地址并將服務(wù)

器的公共IP地址放在其位置。10.1.1.1我們僅出于示例目的而使用。

[mysqld]

綁定地址 = 10.1.1.1

如果需要,我們可以使用0.0.0.0作為綁定地址,它是一個通配符,應(yīng)該將服務(wù)綁定到所有可訪問的接口。不建議這樣做,

但如果我們以后遇到問題,這有助于排除故障。

[mysqld]

綁定地址 = 0.0.0.0

3、進行更改后,保存對文件的更改并退出。然后,我們需要重新啟動 MySQL服務(wù)以使更改生效。

$ sudo systemctl重新啟動mysql

在某些發(fā)行版上,可能會調(diào)用該服mysqld:

$ sudo systemctl 重新啟動mysqld


二、允許通過防火墻進行遠程訪問

假設(shè)我們的MySQL服務(wù)器使用端口3306,我們需要允許它通過系統(tǒng)防火墻。我們需要執(zhí)行的命令將取決于我們正在使用

的發(fā)行版。

在Ubuntu系統(tǒng)和其他使用ufw(簡單防火墻)的系統(tǒng)上:

$ sudo ufw 允許 mysql

在 Red Hat、CentOS、Fedora 以及使用 firewalld 的衍生系統(tǒng)上:

$ sudo 防火墻-cmd --zone=public --add-service=mysql --permanent

$ sudo 防火墻-cmd --reload

iptables還有一個應(yīng)該適用于任何系統(tǒng)的古老命令:

$ sudo iptables -A 輸入 -p tcp --dport 3306 -m conntrack --ctstate 新,已建立 -j 接受


三、允許遠程連接到特定用戶

現(xiàn)在MySQL服務(wù)可以接受傳入連接,并且我們的防火墻將允許它們通過,我們只需將用戶配置為接受遠程連接即可。

首先使用root帳戶打開MySQL。

$ sudo mysql

或者,在某些配置中,我們可能需要輸入以下命令并提供root密碼:

$ mysql -u 根 -p

如果我們已經(jīng)創(chuàng)建了一個用戶,并且需要將該用戶配置為可從遠程 IP 地址訪問,我們可以使用MySQL命令RENAME 

USER。我們將使用戶可以通過下面示例命令中的linuxconfigIP地址進行訪問,但請根據(jù)自己的配置需要進行調(diào)整。

10.150.1.1

mysql> 將用戶'linuxconfig'@'localhost'重命名為'linuxconfig'@'10.150.1.1';

或者,如果我們是第一次創(chuàng)建此用戶,我們將使用該CREATE USER命令。請務(wù)必將以下用戶名、IP 地址和密碼替換為我

們自己的。

mysql> 創(chuàng)建用戶“l(fā)inuxconfig”@“10.150.1.1”,由“password_here”標(biāo)識;

如果我們希望可以從任何IP地址訪問我們的用戶,那么可以%在命令中使用而不是特定的IP地址。以下是如何編輯現(xiàn)有用

戶以便可以從任何IP訪問:

mysql> 將用戶'linuxconfig'@'localhost'重命名為'linuxconfig'@'%';

以下是如何創(chuàng)建一個可以從任何 IP 地址訪問的新用戶:

mysql> 創(chuàng)建用戶 'linuxconfig'@'%' 由 'password_here' 標(biāo)識;

這里的所有都是它的。授予我們的用戶對一個或多個數(shù)據(jù)庫的訪問權(quán)限后,我們將能夠使用帳戶憑據(jù)遠程訪問數(shù)據(jù)庫。


在本教程中,我們了解了如何允許遠程連接到Linux系統(tǒng)上的MySQL服務(wù)。這是一個由三個部分組成的過程:使服務(wù)可訪

問、允許通過防火墻進行連接以及創(chuàng)建可訪問的MySQL帳戶。由于MySQL在所有發(fā)行版中的工作原理基本相同,因此這

些步驟應(yīng)該適用于每個人。


/template/Home/Zkeys724/PC/Static