1. 程式人生 > >MySQL資料庫無法遠端連線的解決辦法

MySQL資料庫無法遠端連線的解決辦法

遠端登陸資料庫的時候出現了下面出錯資訊:

  ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.xxx.xxx'

修改root使用者可以從任意ip登入

mysql -u root –p  //root使用者本機登入mysql
mysql>use mysql;  //跳轉到mysql庫
//執行下面語句會提示Error,不過沒關係,其實成功了
mysql>update user set host = '%' where user = 'root';//設定使用者root可以在任意ip登入,'%'表示任意ip,%寫成某一ip
mysql>select host, user from user;

給使用者賦予許可權

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root';//'%'可以寫成某一ip地址
mysql>FLUSH RIVILEGES  //重新整理許可權表

開啟3306埠

sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
// -A 表示append向iptables的INPUT鏈中追加
// -p 表示‘協議’ 後跟tcp
// --dport 埠號
// -j ACCEPT 這個引數用於指定匹配的資料包的目標。用在這裡表示接受和允許符合上述標準的資料包通過

修改mysql的my.cnf配置檔案

修改MySQL的配置檔案/etc/mysql/my.cnf,因為預設3306埠只允許本地訪問的,註釋掉這行

vi /etc/mysql/my.cnf
//找到"bind-address           = 127.0.0.1"這一行,前面新增#