遠(yuǎn)程訪問mysql的錯(cuò)誤解決方法
遠(yuǎn)程訪問mysql經(jīng)常會(huì)出現(xiàn)下面的一些錯(cuò)誤,我用自己經(jīng)過了一些小波折后找到了一些解決方法,不過我的mysql是轉(zhuǎn)載linux系統(tǒng)上的,不過windows平臺(tái)也是類似的原理。下面是學(xué)習(xí)啦小編跟大家分享的是遠(yuǎn)程訪問mysql的錯(cuò)誤解決方法,歡迎大家來閱讀學(xué)習(xí)。
遠(yuǎn)程訪問mysql的錯(cuò)誤解決方法
工具/原料
xshell
mysql
方法/步驟
如果出現(xiàn)下面這種情況,一般是防火墻屏蔽了mysql的3306端口,我們需要開啟3306端口
執(zhí)行下面的命令
[root@doctortang bin]# /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
[root@doctortang bin]# /etc/rc.d/init.d/iptables save
[root@doctortang bin]# /etc/init.d/iptables restart
如果執(zhí)行查看防火墻狀態(tài)的命令:
[root@doctortang bin]# /etc/init.d/iptables status
會(huì)出現(xiàn)下面情況則說明開啟3306端口成功了(就是下面圖中的3306)
此時(shí)再訪問有可能會(huì)遇到下面這種圖的報(bào)錯(cuò),這是因?yàn)槲覀冞€沒給mysql設(shè)置一個(gè)可以讓我們從我們當(dāng)前ip遠(yuǎn)程訪問的用戶及密碼(我自己的本地ip為192.168.1.140)
現(xiàn)在假設(shè)你想讓用戶名為root的用戶從ip為192.168.1.140的主機(jī)連接到mysql服務(wù)器,并使用123456作為密碼,可以執(zhí)行下面的命令(為了使修改立即生效,可多次執(zhí)行FLUSH PRIVILEGES命令,我這里執(zhí)行了兩次)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.140' IDENTIFIED BY
-> '123456' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
mysql> FLUSH PRIVILEGES;
6此時(shí)再以用戶名root,密碼123456去訪問mysql就可以了
7這里說多兩種我試過的適合其他情況的設(shè)置,第一種就是如果想任何主機(jī)都能以用戶名為root,密碼為123456都能訪問mysql,可以執(zhí)行下面命令
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
8然后讓修改生效
mysql> FLUSH PRIVILEGES;
這樣就可以在其它任何的主機(jī)上以用戶名root和密碼123456遠(yuǎn)程訪問mysql了
9另一種是如果只想用戶root從ip為192.168.1.6的主機(jī)只能訪問其中某一個(gè)數(shù)據(jù)庫(kù)名為db,并使用123456作為密碼,可以執(zhí)行命令
mysql>GRANT ALL PRIVILEGES ON db.* TO 'root'@'192.168.1.3' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;
遠(yuǎn)程訪問mysql的錯(cuò)誤解決方法相關(guān)文章:
1.怎么解決mysql不允許遠(yuǎn)程連接的錯(cuò)誤
2.mysql怎么設(shè)置遠(yuǎn)程連接數(shù)據(jù)庫(kù)
3.怎樣遠(yuǎn)程訪問mysql數(shù)據(jù)庫(kù)
4.設(shè)置Mysql允許其他電腦遠(yuǎn)程訪問
5.mysql數(shù)據(jù)庫(kù)允許遠(yuǎn)程連接