2020年12月18日 星期五

遠端連線MariaDB失敗 ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 2

Server A安裝MariaDB完成,試著從host B連看看

root@hostB:~# mysql -h 192.168.1.100

ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 2

這甚麼意思?

上google查


可能性1: 連線被擋了,要在/etc/hosts.allow加入mysqld: 192.168.1.0/255.255.255.0: allow

各種格式都試過,完全沒效(後來確定相關功能在我的Ubuntu 20根本沒啟動)


可能性2: 連線有問題timeout掉了(某個中國老兄的文到處被複製,感覺是在瞎扯)

建議connect_timeout=5改成60 (可是我是第0秒就被斷線)

試過加在/etc/mysql/mariadb.conf.d/50-server.cnf裡,無效

試過在Server A進mysql內set global connect_timeout=60;,無效


我知道這不是防火牆的問題,但還是去確認了,真的不是

後來,我從Windows去telnet 192.168.1.100 3306

看到這個訊息Host '192.168.1.123' is not allowed to connect to this MariaDB server

確認連線其實有進去,只是被MariaDB server踢掉了

簡單查了一下,老外很多網站寫得清清楚楚

是帳號根本沒開外網的問題

(用telnet連線還沒試著登入就被擋了。帳號跟不接受連線的關聯其實我不明白)

馬上動手建帳號

MariaDB [(none)]> create user 'root'@'192.168.1.*' identified by 'thisispassword';

MariaDB [(none)]> grant all on *.* to 'root'@'192.168.1.*' with grant option;

MariaDB [(none)]> flush privileges;

再測一次,搞定!


好吧,太久沒摸MySQL/MariaDB或是我從來就不懂這東西

總之被回應的訊息內容誤導方向,浪費太多時間

希望這篇記錄能幫大家一點小忙

沒有留言:

張貼留言