原文地址:https://cf2z.club/blog/Ali-cl...
默認狀況下,咱們安在阿里雲上的mysql是不支持遠程鏈接的,可是咱們還須要經過一些工具來鏈接mysql,如navicat,這時就須要咱們來修改mysql的遠程鏈接了。注意一點:當咱們修改完mysql權限相關的操做後必定要刷新權限表,使配置生效,執行
html
flush privileges;
環境前提:centos7 mysql5.7mysql
一, 首先登陸位於阿里雲上的mysql:sql
mysql -u root -h localhost -p
二. 打開mysql數據庫 (須要有能操做mysql這個庫的權限,通常是mysql的root用戶)數據庫
use mysql
三. 這時咱們有兩種方式來進行修改:
第一種:是直接將原來的 user='root' and host='localhost' 記錄的host修改爲%或指定的ip
1)將host設置爲%表示任何ip都能鏈接mysqlcentos
update user set host='%' where user='root' and host='localhost';
2) 固然也能夠將host指定爲某個ip安全
update user set host='106.39.178.131' where user='root' and host='localhost';
3) 執行完以上語句,接着執行如下語句 ,刷新權限表,使配置生效 服務器
flush privileges;
第二種: 是新增一條記錄方式
1)新增一個用戶newname(這個新增的用戶名稱也能夠爲root)密碼爲並將host設置爲%表示任何ip都能鏈接mysqlide
grant all on *.* to 'newname'@'%' identified by 'Navicat_123';
2)新增一個用戶newname,密碼爲並將host設置爲指定的ip 表示 只有該ip能鏈接mysql工具
grant all on *.* to 'newname'@'106.39.178.131' identified by 'Navicat_123';
3) 執行完以上語句,接着執行如下語句 ,刷新權限表,使配置生效 阿里雲
flush privileges;
固然若是想再改爲本地的鏈接,只須要將對應用戶的host改爲localhost便可,
update user set host='localhost' where user='root' and host='106.39.178.131';
四. 不要如今就去navicat進行鏈接,還須要作兩件事,要不你就到坑裏了
1)檢查服務器防火牆3306端口開放了嗎,沒開放須要去開放
2)檢查一下阿里雲的安全組規則中是否開放了3306端口,
如何檢查及配置參考文檔:[https://help.aliyun.com/docum...]
五. 如今是時候進行遠程鏈接啦,在工具裏輸入相應的參數
host: 阿里雲服務器的ipport:3306user name : 若是是第一種方式的修改,用戶就是root,第二種修改就是你本身設置的名字,例如個人就是newnamepassword: 若是是第一種方式的修改,密碼就是root的密碼,第二種修改就是你本身設置的密碼,例如個人就是Navicat_123至此,連上去那一刻,有木有很激動啊。