1.原因分析
在服務器上安裝好了mysql server。啓動服務之後,通過 mysql -u 用戶名 -p 密碼,可以正常的連接,但是在其他的機器上連接不上。
出現這種問題的原因可能有兩點:
1.1 mysql安裝好後,默認只對127.0.0.1的本機開放,沒有對遠程的主機開放。
解決辦法:
(1)找到默認的mysql的配置文件,一般爲 /etc/mysql/my.cnf 或者 /etc/my.conf
(2)找到 bind-address= 這個選項 ,修改爲 bind-address = 0.0.0.0 (或者根據自己的安全需求,修改爲相應的開放的ip地址)
(3)重啓mysql服務器 (/etc/init.d/mysql stop /etc/init.d/mysql start)
1.2 用戶的權限配置配置正確,用戶沒有權限在遠程登錄mysql服務器
解決的辦法和相關分析見:http://www.cnblogs.com/wonder315/archive/2011/11/02/2233010.html
2. 解決方案
自己參照這個教程的時候,出現了一些問題:
(1)使用方法1--改表法的時候,出現這種情況
ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'
原因是,裏面有多個以root用戶的記錄,因此會失敗。
(2)於是乎使用第二種方法--授權法。很快就搞定了,沒有什麼問題。推薦使用這種方法