< 返回新聞公共列表

如何在Linux上的IP地址遠(yuǎn)程連接到MySQL服務(wù)器?

發(fā)布時(shí)間:2023-05-19 15:09:00

如果我們需要允許遠(yuǎn)程訪問自己的MySQL服務(wù)器,一個(gè)好的安全做法是只允許從一個(gè)或多個(gè)特定IP地址進(jìn)行訪問。這樣,我們就不會(huì)不必要地將攻擊向量暴露給整個(gè)互聯(lián)網(wǎng)。在本教程中,小編我將逐步指導(dǎo)大家從Linux系統(tǒng)上的特定IP地址遠(yuǎn)程連接到MySQ服務(wù)器。


如何在Linux上的IP地址遠(yuǎn)程連接到MySQL服務(wù)器?.png


默認(rèn)情況下,MySQL服務(wù)器被配置為只接受來自同一臺(tái)計(jì)算機(jī)的連接。換句話說,綁定地址設(shè)置為本地環(huán)回地址127.0.0.1。在我們可以接受來自任何其他IP地址的連接之前,我們需要在MySQL配置文件中更改此設(shè)置。因此,允許從特定IP地址遠(yuǎn)程連接到我們的MySQL數(shù)據(jù)庫是一個(gè)三步過程。

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

其次,我們需要允許通過我們的系統(tǒng)防火墻進(jìn)行遠(yuǎn)程訪問。默認(rèn)情況下,MySQL在端口3306上運(yùn)行,因此需要允許到該端口的連接通過,并且只允許來自我們指定的IP地址的那些連接是沒有問題的。

最后,我們需要?jiǎng)?chuàng)建一個(gè)新用戶或編輯現(xiàn)有用戶,使其可以從特定IP 地址訪問。


一、配置MySQL綁定地址

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

$ sudo nano /etc/mysql/mysql.cnf

bind-address找到該部分下方的設(shè)置[mysqld]。默認(rèn)情況下,當(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綁定地址,這是一個(gè)通配符,應(yīng)該將服務(wù)綁定到所有可訪問的接口。不建議這樣做,但如果我們以后遇到問題,這對故障排除很有幫助。

[mysqld]

綁定地址 = 0.0.0.0

進(jìn)行更改后,將更改保存到文件并退出。然后,我們將需要重新啟動(dòng) MySQL服務(wù)以使更改生效。

$ sudo systemctl 重啟 mysql

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

$ sudo systemctl 重啟 mysqld


二、允許通過防火墻進(jìn)行遠(yuǎn)程訪問

假設(shè)我們的MySQL服務(wù)器使用端口3306,我們需要允許它通過系統(tǒng)防火墻。我們需要執(zhí)行的命令將取決于我們使用的發(fā)行版。請參閱下面的列表或根據(jù)需要調(diào)整命令以符合我們自己系統(tǒng)的防火墻語法。

在下面的示例中,我們允許從IP地址進(jìn)行遠(yuǎn)程訪問10.150.1.1。只需將自己的IP地址放入我們要允許遠(yuǎn)程訪問的位置。

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

$ sudo ufw 允許從 10.150.1.1 到任何端口 3306

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

$ sudo firewall-cmd --zone=public --add-source=10.150.1.1 --permanent

$ sudo firewall-cmd --zone=public --add-service=mysql --permanent

$ sudo firewall-cmd --reload

iptables以及適用于任何系統(tǒng)的好舊命令:

$ sudo iptables -A INPUT -p tcp -s 10.150.1.1 --dport 3306 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT


三、允許從特定IP遠(yuǎn)程連接到特定用戶

現(xiàn)在MySQL服務(wù)可以接受傳入連接并且我們的防火墻將允許特定IP 通過,我們只需要配置我們的用戶以接受來自該IP的遠(yuǎn)程連接。

首先使用root帳戶打開MySQL。

$ 須藤 mysql

或者,在某些配置中,我們可能需要輸入以下命令并提供自己的root 密碼:$ mysql -u root -p

如果我們已經(jīng)創(chuàng)建了一個(gè)用戶,并且需要將該用戶配置為可以從遠(yuǎn)程 IP 地址訪問,我們可以使用MySQL命令RENAME USER。在下面的示例命令中, 我們將使我們的linuxconfig用戶可以從 IP 地址訪問,但根據(jù)您自己的配置需要對其進(jìn)行調(diào)整。10.150.1.1

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

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

mysql> 創(chuàng)建用戶 'linuxconfig'@'10.150.1.1' IDENTIFIED BY 'password_here';

這里的所有都是它的。授予我們的用戶訪問一個(gè)或多個(gè)數(shù)據(jù)庫后,我們將能夠使用帳戶憑據(jù)從自己指定的IP遠(yuǎn)程訪問數(shù)據(jù)庫。


以上是在Linux系統(tǒng)上的特定IP遠(yuǎn)程連接到MySQL服務(wù)器三部分過程。由于MySQL在所有發(fā)行版中的工作原理基本相同,因此這些步驟應(yīng)該適用于所有人。


/template/Home/Zkeys724/PC/Static