mysqld_safe和mysqld都存在,說明MySQL進程正常。如果沒有這樣的進程,執行/etc/init.d/mysqld開始啟動msyql。
MySQL可以本地連接但不能遠程連接的解決方案。
檢查mysql監聽IP和端口是否正常。
使用:netstat -anpt
如果被監聽的地址是::3306或0.0.0: 3306,則表示所有IP地址都被監聽,此監聽狀態正常。如果出現127.0.0: 3306,表示要監控的本地地址,則需要在mysql配置文件中將bind-address選項設置為bind-address = 0.0.0.0,並重新啟動mysql。
MySQL可以本地連接但不能遠程連接的解決方案。
檢查mysql用戶遠程訪問權限是否正確。
本地登錄mysql服務器,
使用mysql
從mysql.user中選擇用戶、主機;查看mysql用戶主機遠程訪問的權限,%表示允許所有機器訪問。如果主機是127 . 0 . 0 . 1/localhost,那麽該用戶只能在本地訪問它。您需要將主機更改為%,並且可以使用Update User Set Host =‘%‘,其中User =‘root‘;
MySQL可以本地連接但不能遠程連接的解決方案。
MySQL可以本地連接但不能遠程連接的解決方案。
如果上述所有操作都是正常的,或者是遠程的或不可訪問的,則可以使用tcpdump抓取服務器端的端口3306,以查看是否有任何數據包,並調查以下網絡原因。
在服務上輸入數據包捕獲命令:tcpdump端口3306。
然後遠程連接mysql數據庫,查看服務器上是否有數據包。
MySQL可以本地連接但不能遠程連接的解決方案。
如果沒有數據包,請檢查阿裏雲服務器的ECS下的安全組件中的配置。
MySQL可以本地連接但不能遠程連接的解決方案。
如果數據庫服務監聽的端口3306未在安全組件的配置中釋放,則需要釋放端口3306。如下圖所示,沒有3306端口,這意味著端口沒有被釋放。
MySQL可以本地連接但不能遠程連接的解決方案。
MySQL可以本地連接但不能遠程連接的解決方案。
在阿裏雲服務器ECS的安全組件的配置中,打開端口3306。單擊添加安全組規則,如下所示:
MySQL可以本地連接但不能遠程連接的解決方案。
MySQL可以本地連接但不能遠程連接的解決方案。