對(duì)于解決虛擬機(jī)linux端mysql數(shù)據(jù)庫(kù)無(wú)法遠(yuǎn)程訪問(wèn)的辦法一種,以下內(nèi)容我給大家整理了兩種解決方案,具體內(nèi)容如下:
解決方法一:
1、 在控制臺(tái)執(zhí)行 mysql -u root -p mysql,CentOS系統(tǒng)提示輸入數(shù)據(jù)庫(kù)root用戶的密碼,輸入完成后即進(jìn)入mysql控制臺(tái)
2、 在mysql控制臺(tái)執(zhí)行 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'MyPassword' WITH GRANT OPTION; FLUSH PRIVILEGES;
3、 在mysql控制臺(tái)執(zhí)行命令中的 'root'@'%' 可以這樣理解: root是用戶名,%是主機(jī)名或IP地址,這里的%代表任意主機(jī)或IP地址,你也可替換成任意其它用戶名或指定唯一的IP地址;'MyPassword'是給授權(quán)用戶指定的登錄數(shù)據(jù)庫(kù)的密碼;另外需要說(shuō)明一點(diǎn)的是我這里的都是授權(quán)所有權(quán)限,可以指定部分權(quán)
4、 切換到root用戶 打開(kāi)iptables的配置文件:vi /etc/sysconfig/iptables
添加紅色字體
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
全部修改完之后重啟 iptables:service iptables restart
可以驗(yàn)證一下是否規(guī)則都已經(jīng)生效:iptables -L 這樣,
我們就完成了CentOS防火墻的設(shè)置修改。
在遠(yuǎn)程:mysql -h 192.168.16.128 -u root2 -p 輸入密碼 root2 成功~
解決方法二:
具體內(nèi)容請(qǐng)看下面代碼:
mysql -uroot -p
Enter password:
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'sy31214' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;
以上所述就是本文的全部?jī)?nèi)容,對(duì)于虛擬機(jī)linux端mysql數(shù)據(jù)庫(kù)無(wú)法遠(yuǎn)程訪問(wèn)的解決辦法還有好多種,歡迎各位大俠多多分享自己的解決方案,本文寫(xiě)的不好,望多多提出批評(píng)建議。