前言: 若是你有一台服务器,而且安装了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操做远程数据库了,哈哈,是否是很是奈斯~!。