[轉載]url:http://www.williswa.com/node/101
遠程登陸不了ubuntu上的mysql的解決辦法
Mon, 2009-06-15 16:10 — williswatson
我搞了了好久才搞好,原來想遠程登陸上ubuntu 或者debian上的mysql要改2個地方的設定
其中一個是MYSQL配置 檔案,另一個是MYSQL的使用權限設定
--------------------分割線------------------------
先說一下設定檔的問題,如果你出現
Can’t connect to MySQL server on ‘192.168.10.18′ (10061)
看到這裡的MYSQL 10061錯誤了嗎?是因為,mysql的預設配置為了增強安全性,禁止了非原生訪問,在ubuntu中是這樣,debian中也是。禁止的方式以前是在my.cnf中有一句
skip-network
現在則變成了:
# 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 = 0.0.0.0
就行了
--------------------分割線------------------------
這樣改完3306連接埠就開始監聽了,但是MYSQL的許可權還沒有開啟ROOT遠程登陸
Mysql預設是不允許遠端連線的,因為有很大的安全隱患。
需要手動增加可以遠端存取資料庫的使用者。
方法一、本地登入mysql,更改 "mysql" 資料庫裡的 "user" 表裡的 "host" 項,將"localhost"改為"%"
#mysql -u root -proot
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
方法二、直接授權(推薦
)
從任何主機上使用root使用者,密碼:youpassword(你的root密碼)串連到mysql伺服器:
# mysql -u root -proot
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
--------------------分割線------------------------
重啟Mysql服務後,這樣就可用圖形化資料庫管理軟體(
Navicat MySQL
或者用更NB的SQLyog是個不錯的選擇)遠端存取Mysql。