萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> 解決mysql無法遠程連接問題

解決mysql無法遠程連接問題

mysql數據庫如果要遠程連接我們是需要授權或mysql開啟才可以的哦,下面我來給大家整理一些關於mysql遠程連接配置教程。

遠程連接mysql數據庫時出現如下提示信息:“MYSQL CONNECT ERROR – 1130:Host ’202.43.**.**’ is not allowed to connect to this MySQL server”

原來在創建mysql賬戶是,限制連接賬戶遠程登錄。也就是說,除了當前mysql所在的安裝服務器外,其他的ip(主機)都是不允許訪問的,盡管你的用戶名和密碼是正確的。

知道了問題的原因,下面就來解決問題。

首先需要登錄到mysql的安裝主機,然後進入mysql:

mysql/usr/local/mysql/bin mysql -u root -p

回車

root是mysql的最高授權用戶名,這時會提示你輸入密碼,正確輸入密碼後回車,進入mysql。

然後輸入如下命令:

grant all on 數據庫名.* to ‘數據庫賬戶名’@'%’ identified by ‘密碼’ with grant option;
回車
flush privileges;

回車

注意:上面的單引號不能省,數據庫名.* 表示要開放的數據庫下所有表,如果該連接的所有數據庫都要開放,可以用 *.* 代替。
‘數據庫賬戶名’@'%’ 這裡表示要開放的賬戶,百分號表示在任何主機都允許訪問。
如果以上兩步均顯示 “Query OK, 0 rows affected (0.00 sec)”,那麼說明命令已經成功執行,現在就可以遠程連接你的mysql數據庫了。

另外,也有可能是你的mysql安裝時默認綁定了固定的ip地址: bind-address : 127.0.0.1。具體操作是:到 /etc/mysql/my.cnf (注:這裡是linux系統)文件中,找到 bind-address 這一行,將它注釋掉,並重啟mysql,就可以遠程訪問了。

補充:利用工具來改表


1。改表法。

請使用mysql管理工具,如:SQLyog Enterprise

可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那台電腦使用mysql管理工具登入mysql後,更改 "mysql" 數據庫裡的 "user" 表裡的 "host" 項,從"localhost"改稱"%"


2. 授權法。

A:你想mysql賬戶myuser使用密碼mypassword從任何主機連接到mysql服務器的話,那就在mySQL命令行下輸入:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

若上面那條命令還沒有奏效,那就使用下面的命令,一定成功!

如果你想允許想mysql賬戶myuser從ip為192.168.1.3的主機連接到mysql服務器,並使用mypassword作為密碼,那就在mySQL命令行下輸入:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

如果改表加權限不行我們可嘗試下面的方法

編輯my.ini

在[mysqld]節點下新增或修改如下兩行行
skip-name-resolve #忽略主機名的方式訪問
lower_case_table_names=1 #忽略數據庫表名大小寫
修改後,重啟mysql即可。

copyright © 萬盛學電腦網 all rights reserved