在使用Linux系統(tǒng)下的MySQL數(shù)據(jù)庫時(shí),若要實(shí)現(xiàn)遠(yuǎn)程連接登錄MySQL需要滿足以下條件:
1、保證MySQL開啟遠(yuǎn)程連接 2、開放對應(yīng)端口 3、授權(quán)對應(yīng)IP地址能夠訪問該數(shù)據(jù)庫
若以上三個(gè)條件設(shè)置不當(dāng),將會(huì)導(dǎo)致遠(yuǎn)程連接無法成功。
下面分別從三個(gè)方面進(jìn)行講解:
設(shè)置MySQL開啟遠(yuǎn)程連接
首先,請確保MySQL已經(jīng)正常啟動(dòng),在終端中輸入以下命令:
systemctl start mysqld.service
接著查看mysqld服務(wù)的狀態(tài)是否正常,輸入以下命令:
systemctl status mysqld.service
如果服務(wù)狀態(tài)是Active(running),就表示服務(wù)已經(jīng)正常啟動(dòng)。
然后進(jìn)入MySQL界面,執(zhí)行以下語句:
grant all privileges on *.* to 'root'@'%' identified by 'password' with grant option; flush privileges;
上述語句即為給MySQL中的root用戶添加允許任何IP地址連接MySQL權(quán)限。
開放對應(yīng)端口
在Linux中,如果需要開放對應(yīng)端口,需要使用firewall-cmd命令,比如需要開放3306端口,執(zhí)行以下命令:
firewall-cmd --add-port=3306/tcp --permanent
然后重新加載防火墻規(guī)則:
firewall-cmd --reload
授予權(quán)限
在MySQL中授予權(quán)限也是非常關(guān)鍵的一步,你需要授權(quán)對應(yīng)的IP地址能夠訪問該數(shù)據(jù)庫,輸入以下命令:
grant all privileges on *.* to 'root'@'192.168.0.%' identified by 'password' with grant option; flush privileges;
上述命令即為授權(quán)IP地址以192.168.0開頭的主機(jī),訪問該MySQL。
授權(quán)成功后,使用該IP地址即可遠(yuǎn)程連接MySQL數(shù)據(jù)庫。