情況描述:linux 和 windows相互訪問對方的MySQL連接不同的一般問題
問題:遠程訪問失敗,連接不上
解決辦法:
1、Windows和Linux上都已經安裝了MySQL。如果沒有,請裝好再來,教程移步百度
2、關閉Windows上的防火牆,否則Linux上無法ping同Windows系統,同時關閉Linux的防火牆;
// Linux終端輸入:
// 1、先檢查防火牆的狀態
sudo service ufw status // 能看高 exited 狀態,綠色表示防火牆正在運行
// 2、關閉防火牆
sudo service ufw stop // 能看高 dead 狀態,綠色表示防火牆正在運行
// 防火牆其他的代碼附送
// sudo service ufw restart 重啓
// sudo service ufw start 啓動
3、保證Linux上的MySQL是處於開啓狀態的,使用命令:sudo service mysql status,如果能看到running字樣的就表示Linux上的MySQL是開啓的,否則就使用命令:sudo sudo service mysql start 開啓;
4、由於MySQL安裝的時候是默認只能訪問本地的MySQL,不允許遠程網絡訪問,所以需要修改MySQL的信息:
具體的步驟:
Windows上和Linux都需要進行同樣的操作,講環回地址替換成通配符地址%,下面的mysql的語法是通用的
1)登錄MySQL賬戶,輸入:
cmd 回車;
輸入:cd C:\Program Files\MySQL\MySQL Server 8.0\bin
輸入:mysql -u root -p 回車
輸入賬戶密碼
賬戶密碼在安裝MySQL是會提示設置的,如果忘記了,就需要修改配置文件,另行百度,這裏不展開講解。
2)、依次輸入:
選擇使用mysql數據庫
use mysql;
查看當前使用的數據庫
select database();
查看當前數據庫的標有沒有user
show tables;
選擇user表中的user屬性
select host from user where user="root";
可以看到默認的host是本地環回地址127.0.0.1,修改這個地址
使用更新語句updata實現
update user set host="%" where user="root";
說明:%是正則表達式中的通配符,將127.0.0.1替換成%就意味着任意ip都能訪問本地的MySQL數據庫了
3)、修改配置文件
路徑爲: /etc/mysql/mysql.conf.d/mysqld.cnf
// 輸入指令
// 進入超級權限賬戶
sudo -s
// 直接編輯該文檔
vi /etc/mysql/mysql.conf.d/mysqld.cnf
// 找到bind所在的位置
/bind
鍵入I,然後輸入#將bind語句註釋掉
4)重啓MySQL
sudo service mysql restart
ok!