開啓mysql的遠程連接權限
1. 鏈接本機的mysql(用ssh登錄終端,輸入如下命令):
mysql -uroot -p
2. 輸入密碼登陸進去後,輸入如下的語句,執行。
mysql>grant all privileges on *.* to ‘user‘@’%‘ identified by ‘password‘ with grant option;
#user是用戶名,%表示任意主機,password是密碼
mysql>flush privileges;
查看權限命令:
mysql> use mysql;
mysql> select user, host from user;
如下結果, 說明開啓了任意主機遠程連接權限
navicat for mysql 連接ubuntu裏的mysql出現這個錯誤: 2003 - Can't connect to MySQL server on '192.168.0.112' (10038)
測試步驟:
1. windows上ping 192.168.0.112可以ping通
2. windows上telnet 192.168.0.112 3306發現失敗 (關於安裝啓動telnet服務, 點這裏)
3. 檢查ubuntu裏mysql服務: ss -na|grep 3306
由此可見, mysql監聽的是3306端口, 但是地址不對, 這樣只監聽了本機地址
要監聽所有地址, 應將/etc/mysql/my.conf裏的[mysqld]結點下的bind-address 屬性改爲 0.0.0.0, 如下
#shell命令如下: :~$ cd /etc/mysql :/etc/mysql$ sudo chmod a+w my.conf #將my.conf權限改爲可寫 :/etc/mysql$ vi my.conf #用vim編輯my.conf :/etc/mysql$ sudo chmod a-w my.conf #將my.conf權限改爲只讀 :/etc/mysql$ sudo restart mysql #重啓服務器
修改完後再次檢查ubuntu裏mysql服務: ss -na|grep 3306
再次用navicat 測試連接, 連接成功~