天天看點

mysql配置遠端連接配接不上解決辦法

資料庫不允許從遠端通路怎麼辦?本文提供了三種解決方法:

  1、改表法。可能是你的帳号不允許從遠端登陸,隻能在localhost。這個時候隻要在localhost的那台電腦,登入mysql後,更改 "mysql" 資料庫裡的 "user" 表裡的 "host" 項,從"localhost"改稱"%" 

  mysql -u root -pvmwaremysql>use mysql; 

  mysql>update user set host = '%' where user = 'root'; 

  mysql>select host, user from user;

  2、授權法。例如,你想myuser使用mypassword從任何主機連接配接到mysql伺服器的話。 

  GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WI 

  TH GRANT OPTION; 

  如果你想允許使用者myuser從ip為192.168.1.6的主機連接配接到mysql伺服器,并使用mypassword作為密碼 

  GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY 

  'mypassword' WITH GRANT OPTION; 

  我用的第一個方法,剛開始發現不行,在網上查了一下,少執行一個語句 mysql>FLUSH RIVILEGES

  使修改生效,就可以了

  另外一種方法: 

  在安裝mysql的機器上運作: 

  1、d:\mysql\bin\>mysql -h localhost -u root 

  //這樣應該可以進入MySQL伺服器 

  2、mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION 

  //賦予任何主機通路資料的權限 

  3、mysql>FLUSH PRIVILEGES 

  //修改生效 

  4、mysql>EXIT 

  //退出MySQL伺服器 

  這樣就可以在其它任何的主機上以root身份登入啦。[/size] 

========================================================================

mysql資料庫遠端通路設定方法

1、修改localhost

更改 "mysql" 資料庫裡的 "user" 表裡的 "host" 項,從"localhost"改成"%" 

mysql>use mysql; 

mysql>update user set host = '%' where user = 'root'; 

mysql>select host, user from user;

mysql>FLUSH PRIVILEGES;

2、指定授權

使用myuser/mypassword從任何主機連接配接到mysql伺服器: 

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

使用myuser/mypassword從ip為192.168.225.166的主機連接配接到mysql伺服器:

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.225.166' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; 

3、泛授權

mysql -h localhost -u root 

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; //賦予任何主機上以root身份通路資料的權限 

解決Mysql無法遠端連接配接的問題 

1、Mysql的端口是否正确

通過netstat -ntlp 檢視端口占用情況,一般情況下端口是3306。在用工具連接配接MySQl是要用到端口。例如My Admin\My Query Browser\MySQl Front等。

2、檢查使用者權限是否正确

mysql庫的user表裡有兩條記錄:host分别為localhost和%(為了安全,%可以換成你需要外部連接配接的IP)。

3、檢視/etc/mysql/my.cnf中,skip-networking 是否已被注掉

需要注掉

報錯:ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.51.112' (111)

sudo gedit /etc/mysql/my.cnf 

#skip-external-locking

#bind-address        = 127.0.0.1

skip-name-resolve

4、檢視iptables是否停掉,沒關的情況下,無法連接配接

通過:service iptables stop臨時關閉。

報錯:ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.51.112' (113)