在遠程主機上,我開啟了mysql 服務,用 phpmyadmin 可以打開,比如說用戶名為 root,密碼為 123456。不過用 Mysql 客戶端遠程連接時卻報了錯誤,比如 Mysql-Front 報了如下錯誤。
Access denied for user ‘root'@'121.42.8.33′(using password:YES)
比較奇怪,phpmyadmin 可以正常訪問,而 Mysql-Front 為什麼無法連接呢?可能的原因,應該就是 IP 限制了,phpmyadmin在連接時使用的是localhost,而我們訪問頁面才使用的遠程主機的 IP,而 Mysql-Front 連接的是遠程主機。
解決方法如下,我們需要新建一個用戶,然後授予所有 IP 可以訪問的權限就好啦。
在下面的 sql 語句中,username 即為用戶名,password 為你要設置的密碼:
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' WITH GRANT OPTION; CREATE USER 'username'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION; CREATE USER 'username'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' WITH GRANT OPTION; CREATE USER 'username'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION;
通過執行以上語句,便創建了一個用戶名為 username,密碼為 password 的新賬戶,再用新賬號登錄,就可以連接成功啦。