1. 程式人生 > >windows遠端連線linux的mysql出現1130

windows遠端連線linux的mysql出現1130

在linux伺服器中,連線上mysql後輸入:

use mysql;
INSERT INTO `user` VALUES ('%','root','*62EDBD15E736B47E4B5BDD3CF91C4A3E2FDFA11A','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'','');
flush privileges; //主要是重新整理許可權

就可以了。

在我解決這個問題的時候,當時我是看的網上的解決方法,雖然解決了通過外網ip登入,但是,localhost就不能夠訪問了,這讓人很苦惱。輾轉反側之後我想到了另一個解決方法,就是上面這個!!!

如果還是不行就嘗試獲取這串程式碼在重新嘗試插入資料:

('%','root','*62EDBD15E736B47E4B5BDD3CF91C4A3E2FDFA11A','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'','')

這一串字元,通過把mysql資料庫中的user這個資料表資料匯出來(mysqldump -u賬號 -p密碼 資料庫名 資料表名>xxx.sql)

就可以檢視到Host為localhost,User為root的那一項,我們需要的就是這個值。

最後

經過我的第二次配置mysql還出現了一個問題,那就是未開3306埠。
不開這個埠還是連線不上mysql,開啟方式,

 查詢埠號是否開啟:firewall-cmd --query-port=3306/tcp
 開永久埠號:firewall-cmd --add-port=3306/tcp --permanent  
 --permanent是指永久的意思。
 關閉防火牆: systemctl stop firewalld.service
 啟動防火牆: systemctl start firewalld
.service 關閉防火牆和啟動防火牆起到重啟防火牆的目的。重啟防火牆後才能夠生效!

最後

其實,上面的方法在某些時候是不行的,你需要:

update user set password = '' where user = root and Host = '\%';