MySQL遷移到新服務器后,重新安裝了MySQL8(解壓方式的安裝),web服務器連接,后台報了這個錯。
運維同學,檢查了MySQL服務器的防火牆設置,沒有限制3306端口,且通過telnet方式,可以在web服務器上測通MySQL服務器上的端口,因此,服務器本身的ip或者端口限制基本排除。
最后上網發現,這個異常是數據庫只允許localhost或127.0.0.1訪問,不允許遠程訪問導致的。
解決辦法:
1.打開cmd,進入mysql
mysql -uroot -p
2.查看root用戶的信息
use mysql;
select user,host from user;
3.修改root用戶的被限制的ip范圍,改為不限制,及允許所有ip訪問
update user set host='%' where user='root';
4.將權限更新操作刷新到內存中,而不用下次啟動時生效:
flush privileges;
之后再通過web服務器上的代碼,訪問數據庫,果然好了。