剛剛學習swoole 微擎框架,需要連線MySQL,配置好連線引數,可是建立Model的時候,總是出錯,錯誤如下:
錯誤1
2002錯誤一般就是連線不上。一看錯誤碼就知道,常見的就那幾個。
順便對MySQL無法連線做一下總結,以備後用!
對於新手來說,一旦 無法連線就不知所措,沒地方下手
MySQL無法連線,常用排查步驟:
1. 檢視服務是否啟動
啟動檢視
如圖所示,說明已經啟動
2。 檢測是否有外部訪問限制
如果本機可以訪問,而外部不能訪問
先確認MySQL繫結的埠是不是3306,然後測試
telnet 192。168。1。100 3306
如果還是連線不上,可能是防火牆問題,先將防火牆關掉,
service iptables stop
或者
systemctl stop ufw
再次telnet,還是沒辦法連上這個埠,然後透過netstat檢視3306的埠狀態是怎麼樣的
netstat -tupln | grep 3306
終於發現了一個比較奇怪的東西
tcp 0 0 127。0。0。1:3306 0。0。0。0:* LISTEN 4854/mysqld
監聽埠正常,但卻綁定了本地迴旋地址,所以外部連線不上,於是查了下資料,找到了解決辦法:
修改mysql的配置檔案
我用的Ubuntu16 ,配置檔案是 vim /etc/mysql/mysql。conf。d/mysqld。cnf
將bind-address後面增加遠端訪問IP地址或者禁掉這句話就可以讓遠端機登陸訪問了。
mysql為了更高的安全性,bind-address預設綁定了127。0。0。1
其他的繫結方法:
繫結方法
其他更詳細的,請參考官方文件說明
然後記得要重啟mysql服務哦
service mysql restart
好了 ,安裝這個步驟檢查,十有八九是這幾個問題,趕緊收藏吧