Ubuntu遠程鏈接MySQL(connection refused)解決方法

1、判斷ubuntu是否開啓防火牆mysql

sudo ufw status

開放防火牆3306端口sql

sudo ufw allow 3306

2、查看3306端口是否打開數據庫

這裏寫圖片描述 
注意:紅色框框表示3306綁定的ip地址–>未修改前爲:127.0.0.1:3306–>即mysql默認綁定localhost,遠程訪問不了 
*若是是綁定了127.0.0.1則繼續看第三步,不然請跳過第三步ubuntu

3、修改mysql配置文件,將bind-address = 127.0.0.1註釋,開放全部鏈接vim

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

這裏寫圖片描述

重啓ubuntu,再次查看3306端口狀態,同第二步bash

4、經過telnet嘗試鏈接mysql測試

telnet your-remote-ip-address 3306

若是不能連通,繼續下一步ui

5、將root用戶受權給全部鏈接 
step1:進入mysql 
step2: 
法一>改表法:進入mysql數據庫,查看裏面user表,搜索User=’root’的記錄 
這裏寫圖片描述 
注:此處爲修改後的記錄 
修改Host=’localhost’的記錄:spa

mysql> UPDATE user SET Host = ‘%’ WHERE User = ‘root’ AND Host=’localhost’;

使修改生效:code

mysql> FLUSH PRIVILEGES;

法二>受權法: 
例子:容許root用戶使用密碼password從任何主機鏈接到mysql:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

使修改生效:

mysql> FLUSH PRIVILEGES;

最後,可再經過第四步進行測試驗證可否遠程鏈接上mysql~

相關文章
相關標籤/搜索