前言: 若是你有一臺服務器,而且安裝了Mysql8.0及以上版本數據庫。此時想經過本地Navicat軟件鏈接遠程服務器上的mysql數據庫。那麼接下來你就要完成如下準備工做:mysql
- 登陸遠程服務器上的數據庫
- 查看默認端口以及鏈接權限
- 更改權限並刷新服務
- 受權遠程登陸設置
- 本地Navicat鏈接
下面就以CentOS7.3服務器、Mysql8.0數據庫舉例:linux
使用ssh客戶端鏈接遠程linux服務器,進入命令面板,輸入如下命令:sql
mysql -uroot -p ## 以root登陸數據庫
輸入root的登陸密碼,成功後會看到如下信息:數據庫
use mysql; ## 選擇mysql數據庫 select user,host from user; ## 查看用戶訪問端口
輸入以上信息,會看到:bash
說明:root用戶默認的是localhost,說明只容許從本地登陸mysql服務。而咱們要從遠程以root用戶鏈接數據庫,就必須修改host的值,改成'%':容許任何ip訪問。服務器
繼續在命令面板輸入如下指令:ssh
update user set host = '%' where user = 'root';
看到以上信息說明修改爲功!測試
這時再使用以前的命令:code
select user,host from user; ## 查看用戶訪問端口
會看到:root用戶的host已經修改成'%'!ip
注意:修改完成後 還須要刷新一下服務配置,否則修改不會生效,而且第4步會執行失敗。
接着在命令面板輸入:
mysql> FLUSH PRIVILEGES; ## 刷新服務配置項
顯示Query OK,表示刷新完成。如今就能夠配置咱們想要遠程登陸的用戶權限了。
輸入命令:
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root_password'; ## 受權root遠程登陸
輸入完以後,看到Query OK,說明執行成功!
說明:此命令能夠受權任何在mysql數據庫user表中的用戶以遠程登陸的方式訪問數據庫,本例中以'root'做爲舉例,若想受權其餘用戶,只需修改'root'的值爲指定用戶便可,'root_password'爲'root'用戶對應的登陸密碼,能夠修改成你想要受權用戶的登陸密碼。
打開Navicat客戶端,新建mysql鏈接
輸入相關信息:
點擊鏈接測試:
顯示鏈接成功!
接下來就能夠經過Navicat操做遠程數據庫了,哈哈,是否是很是奈斯~!。