windows遠端連線linux的mysql出現1130
阿新 • • 發佈:2019-02-11
在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 = '\%';