在本教程中,小編將引導(dǎo)大家逐步完成允許遠(yuǎn)程連接Linux系統(tǒng)上的MySQL服務(wù)器的說(shuō)明。這些說(shuō)明應(yīng)該獨(dú)立于我們使用
的任何Linux發(fā)行版而工作。在本教程中我們將學(xué)習(xí):
如何允許遠(yuǎn)程連接MySQL服務(wù)器?
如何通過系統(tǒng)防火墻允許遠(yuǎn)程連接MySQL?
如何創(chuàng)建或更改MySQL用戶以允許遠(yuǎn)程連接?
允許遠(yuǎn)程連接到MySQL數(shù)據(jù)庫(kù)的過程分為三步。
首先,我們需要通過在MySQL配置文件中配置公共綁定地址來(lái)將MySQL服務(wù)設(shè)置為可從遠(yuǎn)程計(jì)算機(jī)訪問。
其次,我們需要允許通過系統(tǒng)防火墻進(jìn)行遠(yuǎn)程訪問。默認(rèn)情況下,MySQL在端口3306上運(yùn)行,因此需要允許到該端口的
連接。
最后,我們需要?jiǎng)?chuàng)建一個(gè)新用戶或編輯現(xiàn)有用戶,以使其可以從遠(yuǎ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]。默認(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
3、進(jìn)行更改后,保存對(duì)文件的更改并退出。然后,我們需要重新啟動(dòng) MySQL服務(wù)以使更改生效。
$ sudo systemctl重新啟動(dòng)mysql
在某些發(fā)行版上,可能會(huì)調(diào)用該服mysqld:
$ sudo systemctl 重新啟動(dòng)mysqld
二、允許通過防火墻進(jìn)行遠(yuǎn)程訪問
假設(shè)我們的MySQL服務(wù)器使用端口3306,我們需要允許它通過系統(tǒng)防火墻。我們需要執(zhí)行的命令將取決于我們正在使用
的發(fā)行版。
在Ubuntu系統(tǒng)和其他使用ufw(簡(jiǎn)單防火墻)的系統(tǒng)上:
$ sudo ufw 允許 mysql
在 Red Hat、CentOS、Fedora 以及使用 firewalld 的衍生系統(tǒng)上:
$ sudo 防火墻-cmd --zone=public --add-service=mysql --permanent
$ sudo 防火墻-cmd --reload
iptables還有一個(gè)應(yīng)該適用于任何系統(tǒng)的古老命令:
$ sudo iptables -A 輸入 -p tcp --dport 3306 -m conntrack --ctstate 新,已建立 -j 接受
三、允許遠(yuǎn)程連接到特定用戶
現(xiàn)在MySQL服務(wù)可以接受傳入連接,并且我們的防火墻將允許它們通過,我們只需將用戶配置為接受遠(yuǎn)程連接即可。
首先使用root帳戶打開MySQL。
$ sudo mysql
或者,在某些配置中,我們可能需要輸入以下命令并提供root密碼:
$ mysql -u 根 -p
如果我們已經(jīng)創(chuàng)建了一個(gè)用戶,并且需要將該用戶配置為可從遠(yuǎn)程 IP 地址訪問,我們可以使用MySQL命令RENAME
USER。我們將使用戶可以通過下面示例命令中的linuxconfigIP地址進(jìn)行訪問,但請(qǐng)根據(jù)自己的配置需要進(jìn)行調(diào)整。
10.150.1.1
mysql> 將用戶'linuxconfig'@'localhost'重命名為'linuxconfig'@'10.150.1.1';
或者,如果我們是第一次創(chuàng)建此用戶,我們將使用該CREATE USER命令。請(qǐng)務(wù)必將以下用戶名、IP 地址和密碼替換為我
們自己的。
mysql> 創(chuàng)建用戶“l(fā)inuxconfig”@“10.150.1.1”,由“password_here”標(biāo)識(shí);
如果我們希望可以從任何IP地址訪問我們的用戶,那么可以%在命令中使用而不是特定的IP地址。以下是如何編輯現(xiàn)有用
戶以便可以從任何IP訪問:
mysql> 將用戶'linuxconfig'@'localhost'重命名為'linuxconfig'@'%';
以下是如何創(chuàng)建一個(gè)可以從任何 IP 地址訪問的新用戶:
mysql> 創(chuàng)建用戶 'linuxconfig'@'%' 由 'password_here' 標(biāo)識(shí);
這里的所有都是它的。授予我們的用戶對(duì)一個(gè)或多個(gè)數(shù)據(jù)庫(kù)的訪問權(quán)限后,我們將能夠使用帳戶憑據(jù)遠(yuǎn)程訪問數(shù)據(jù)庫(kù)。
在本教程中,我們了解了如何允許遠(yuǎn)程連接到Linux系統(tǒng)上的MySQL服務(wù)。這是一個(gè)由三個(gè)部分組成的過程:使服務(wù)可訪
問、允許通過防火墻進(jìn)行連接以及創(chuàng)建可訪問的MySQL帳戶。由于MySQL在所有發(fā)行版中的工作原理基本相同,因此這
些步驟應(yīng)該適用于每個(gè)人。
Copyright ? 2013-2020. All Rights Reserved. 恒訊科技 深圳市恒訊科技有限公司 粵ICP備20052954號(hào) IDC證:B1-20230800.移動(dòng)站