mysql無法遠程連接?
查看MySQL進程是否正常,可以阿里云服務器 ECS 服務器上輸入:ps -ef|grep mysqldmysqld_safe和mysqld都在,說明MySQL進程是正常,若沒有這兩進程,執行/etc/init.d/mysqld start,啟動msyql。MySQL在本地能連接上,遠程連接不上的解決辦法查看mysql監聽IP和端口是否正常。使用:netstat -anpt監聽得地址如果是:::3306或者是0.0.0.0:3306,表示監聽所有IP地址,這監聽狀態是正常。
若出現127.0.0.0:3306,說明監聽的本地地址,需要在mysql配置文件中將bind-address選項設置為bind-address = 0.0.0.0,重啟mysql。MySQL在本地能連接上,遠程連接不上的解決辦法查看用于遠程訪問的mysql用戶權限是否正確。在本地登入mysql服務器,use mysql;SELECT user, host from mysql.user; 查看用于遠程訪問的mysql用戶host的權限,%表示允許所有機器訪問。
若host為127.0.0.1/localhost,那么這個用戶就只能本機訪問,則需要將host改為%,可以使用update user set host='%' where user='root';MySQL在本地能連接上,遠程連接不上的解決辦法MySQL在本地能連接上,遠程連接不上的解決辦法若以上操作都正常,還是遠程還是不能訪問的話,可以使用tcpdump在服務器端抓一下3306端口,看是否有數據包,排查以下網絡原因。
在服務上輸入抓包命令:tcpdump port 3306然后遠程連接mysql數據庫,看一下服務端是否有數據包。MySQL在本地能連接上,遠程連接不上的解決辦法如果沒有數據包,查一下阿里云服務器 ECS下的安全組件中的配置MySQL在本地能連接上,遠程連接不上的解決辦法若安全組件中的配置中,入口未對數據庫服務監聽的3306端口放開,則需要將3306端口放開。如下圖,并沒有3306端口,則表示未放開該端口。MySQL在本地能連接上,遠程連接不上的解決辦法MySQL在本地能連接上,遠程連接不上的解決辦法在阿里云服務器 ECS下的安全組件中的配置,放開3306端口。單擊添加安全組規則,如下圖:MySQL在本地能連接上,遠程連接不上的解決辦法MySQL在本地能連接上,遠程連接不上的解決辦法