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