@(學習筆記)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
my.cnf
的位置,sudo find / -name my.cnf
;sudo vim my.cnf
;?bind-address
,找到bind-address = 127.0.0.1
這一行;#bind-address
,將這一行註釋掉;: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;