1. 程式人生 > >本地可以連線資料庫,遠端連線mysql不成功

本地可以連線資料庫,遠端連線mysql不成功

版本:Ubuntu16.04

一、使用xshell成功連線Linux伺服器,然後命令列執行mysql本地連線命令,可以成功登入mysql資料庫,但是使用mysql workbench連線不成功,出現錯誤:ERROR 2003:Can’t connect to MySQL server on ‘xxxx’<10061>
1、檢視3306埠是否被佔用netstat -apn|grep 3306:查詢結果如下圖所示
這裡寫圖片描述
注意紅色字型3306的地方,這說明3306被繫結到了本地ip127.0.0.1
2、檢查修改my.cnf的配置

vim /etc/mysql/mysql.conf.d/mysqld.cnf

配置繫結ip地址,將bind-address = 127.0.0.1修改為bind-address = 0.0.0.0或登出,儲存後退出(若沒有修改許可權,則賦予該檔案修改許可權chmod u+w /etc/mysql/mysql.conf.d/mysqld.cnf
重啟mysql

/etc/init.d/mysql restart

3、本地cmd重新連線測試
二、出現錯誤:ERROR 1130:Host ‘xxxx’ is not allowed to connect to this MySQL server
1、檢查使用者訪問的許可權:
本地登入資料庫,檢視mysql資料庫裡user表的host和user欄位

mysql -uroot -p
show databases;
use mysql;
select host,user from user;

2、MySQL建使用者的時候會指定一個host,預設是127.0.0.1/localhost,表示這個使用者就只能本機訪問, 其它機器用這個使用者帳號訪問會提示沒有許可權,修改host改為%,允許所有機器訪問

 update user set host='%' where user='root';

3、重啟mysql使配置生效

/etc/init.d/mysql restart