遠程鏈接MySql報錯解決辦法(2003)(1130)

遠程鏈接MySql報錯解決辦法(2003)(1130)

@(學習筆記)mysql

ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.XX.XX'

這個 緣由就是Mysql數據庫的默認配置文件my.cnf(linux下)中的bind-address默認爲127.0.0.1,因此就算你建立了能夠 remote訪問的用戶,你也不能使用mysql -h命令進行訪問,若訪問就會出現上出問題,由於此時Mysql只接受localhost,因此須要把bind-address屏蔽掉。linux

  • 步驟1:使用命令行找到my.cnf的位置,sudo find / -name my.cnf
  • 步驟2:sudo vim my.cnf
  • 步驟3:?bind-address,找到bind-address = 127.0.0.1這一行;
  • 步驟4:改成#bind-address,將這一行註釋掉;
  • 步驟5::wq,保存退出
ERROR 1130: Host '192.168.XX.XX' is not allowed to connect to this MySQL server

解決辦法1: 改表法。多是你的賬號不容許從遠程登錄,只能在localhost。這個時候只要在localhost的那臺電腦,登入mysql後,更改 "mysql" 數據庫裏的 "user" 表裏的 "host" 項,從"localhost"改稱"%"sql

具體命令以下:數據庫

  • mysql -uroot -proot
  • use mysql;
  • update user set host = '%' where user = 'root';
  • select host, user from user;

解決辦法2: 受權法。例如,你想myuser使用mypassword從任何主機鏈接到mysql服務器的話。vim

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
若是你想容許用戶myuser從ip爲192.168.1.3的主機鏈接到mysql服務器,並使用mypassword做爲密碼
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'10.10.40.54' IDENTIFIED BY '123456' WITH GRANT OPTION;

參考文章:
文章1
文章2
文章3segmentfault

相關文章
相關標籤/搜索