默認情況下,我們安在阿里云上的MySQL是不支持遠程連接的,但是我們還需要通過一些工具來連接mysql,如navicat,這時就需要我們來修改mysql的遠程連接了。 注意一點:當我們修改完mysql權限相關的操作后一定要刷新權限表,使配置生效,執行 flush privileges; 環境前提:centos7 mysql5.7 一, 首先登錄位于阿里云上的mysql: mysql -u root -h localhost -p 二. 打開mysql數據庫 (需要有能操作mysql這個庫的權限,一般是mysql的root用戶) use mysql 三. 這時我們有兩種方式來進行修改: 第一種:是直接將原來的 user='root' and host='localhost' 記錄的host修改成%或指定的ip 1)將host設置為%表示任何ip都能連接mysql 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都能連接mysql 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...](
https://help.aliyun.com/document_detail/25471.html?spm=5176.100241.0.0.IneJPl) 五. 現在是時候進行遠程連接啦,在工具里輸入相應的參數 host: 阿里云服務器的ip port:3306 user name : 如果是第一種方式的修改,用戶就是root,第二種修改就是你自己設置的名字,例如我的就是newname password: 如果是第一種方式的修改,密碼就是root的密碼,第二種修改就是你自己設置的密碼,例如我的就是Navicat_123 至此,連上去那一刻,有木有很激動啊。






