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>FLUSH PRIVILEGES;

解決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)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章