MySQL默認禁止遠程鏈接,當嘗試用網絡IP(192.168.17.135)而非本地IP(127.0.0.1)登錄會報以下錯誤:mysql
經查資料說,是配置文件my.cnf綁定了本地ip形成的,以下sql
文件:/etc/mysql/my.cnf數據庫
#bind-address = 127.0.0.1 <---註釋掉這一行就能夠遠程登陸了安全
可是經檢查,發現個人本地my.cnf並無這句話,後來經查得知,其實這個配置是在另一個文件裏(版本緣由?不清楚了):服務器
/etc/mysql/mysql.conf.d/mysqld.cnf網絡
打開這個文件,註釋掉下面那句話ide
#bind-address = 127.0.0.1rest
而後重啓MySQL服務器ip
中止:sudo /etc/init.d/mysql stop,開啓: sudo /etc/init.d/mysql start虛擬機
重啓:sudo /etc/init.d/mysql restart
而後嘗試用下面方式登錄MySQL:
權限錯誤,說明配置是成功的,接下來就是解決權限錯誤了。
爲了數據庫安全起見,咱們放棄root帳號登錄方式,建一個新的帳號
mysql> create user 'test'@'%' identified by 'password';
Query OK, 0 rows affected (0.00 sec)
而後給這個用戶賦予最高權限,
mysql> grant all privileges on *.* to 'test'@'%';
Query OK, 0 rows affected (0.00 sec)
刷新一下數據庫權限:
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
okay,大功告成,退出這個MySQL。
接下來嘗試登錄一下:
登錄成功,大功告成。
接下來換臺虛擬機來遠程登錄一下:
完美!!!