要通過遠端連線MySQL,需要做兩步:
第一步是要建立一個可以遠端連線的 MySQL 使用者
mysql> GRANT ALL PRIVILEGES ON remote.* TO remote@"%" IDENTIFIED BY
"remotepwd";
第二步是要修改 mysql 的設定檔 /etc/mysql/my.cnf
$> sudo vi /etc/mysql/my.cnf
在舊版本中找到 skip-networking,把它注釋掉就可以了
#skip-networking
在新版本中:
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1
bind-address = 127.0.0.1 這一行要注釋掉
#bind-address = 127.0.0.1
或者把允許訪問的 ip 填上
#bind-address = 192.168.1.100
然後重啟 MySQL
$> sudo /etc/init.d/mysql restart
* Starting MySQL database server mysqld
...done.
* Checking for corrupt, not cleanly closed and upgrade needing tables.
andy@ubuntu:~$ sudo /etc/init.d/mysql start
* Starting MySQL database server mysqld
...done.
這樣就可以遠端存取 MySQL 了.
MYSQL不能從遠端連線的一個解決方案MYSQL
不能從遠端連線的一個解決方案
搜集者:海水 發布時間:06-03-13 瀏覽次數:2347 [大 中 小]
如果你想串連你的mysql的時候發生這個錯誤:
以下是引用內容:
ERROR 1130: Host '192.168.1.3' is not allowed to connect to this
MySQL server
解決方案:
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' WITH GRANT OPTION;
如果你想允許使用者myuser從ip為192.168.1.3的主機串連到mysql伺服器,並使用mypassword作為密碼
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY
'mypassword' WITH GRANT OPTION;