最近新裝了Mysql5.7,按如下設置好了允許遠程連接
(1)找到mysql配置文件並修改
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf 將bind-address=127.0.0.1注釋
(2)登錄mysql,運行命令
grant all privileges on *.* to 'root'@'%' identified by 'mysql' with grant option; # 所有的地址都可以使用root用戶,密碼為mysql遠程訪問所有的數據庫 flush privileges;
(3)檢查了下防火牆並沒有屏蔽端口號
(4)直接在navicate上連接mysql數據庫,報錯如下:

查了很多博客,未果,后面仔細分析應該是密碼的錯誤,因為自己用navicate連接數據庫使用的是user為root,host為localhost的密碼登陸的,如下可發現
host為localhost、%(任意ip,我們連接時使用的就是這個)的密碼不一樣(ps Mysql5.7版本以后password變為authentication_string)

(5)修改user為root,host為‘%’的密碼,改成跟host為localhost密碼一樣,這樣不容易忘記(若知道密碼時什么就不需要改)

查看密碼發現變成一樣了,如下圖
(6)在navicate登錄,--->成功