Navicat 远程链接 MySQL

Navicat 远程链接 MySQL

相信你们都有在远程服务器上进行开发吧,其中 MySQL 的使用率应该也会挺高,若是使用 Navicat 等可视化工具来操做远程数据库不失为一种很好的选择,避免了在命令行写 SQL 语句的操做。下面简单介绍一下 Navicat 链接远程数据库的操做。mysql

1

首先咱们须要更改 3306端口,查看3306 端口是否对外开放,MySQL 默认状况下是不开放对外访问功能的。语句以下:sql

netstat -an | grep 3306

若是查询结果以下,须要咱们更改 MySQL 配置文件。shell

能够看出,mysql的3306端口只是监听本地的链接,这样就阻碍了外部IP对该数据库的访问,修改 MySQL 配置文件 my.conf :数据库

vim /etc/mysql/my.cnf

找到vim

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address  = 127.0.0.1

bind-address = 127.0.0.1 这行注释掉或者改成你想要使用的客户端主机 ip。服务器

至此 MySQL 远程访问端口就成功开启了。less

2

咱们进入 MySQL 命令界面,运行下列SQL 语句,查看用户是否具备访问权限:工具

use mysql;
select user, host from user;

返回结果以下:spa

咱们使用通配符 % 来修改 root 用户对应的 host 字段,使具备访问全部 ip 地址的权限:命令行

update user set host = '%' where user = 'root';

若是抛出以下异常:

Duplicate entry '%-root' for key 'PRIMARY'

说明有多个ROOT用户纪录在USER表中了,咱们从新执行:

select host from user where user = 'root';

便能看到字段 host 的 % 值。

咱们执行:

flush privileges;

刷新一下 MySQL 的系统权限相关表。

最后重启一下 MySQL 服务:

sudo restart mysql

3

服务端设置好了,咱们在 Navicat 客户端设置一下链接:

打开 Navicat,点击左上方的 "链接",设置一下数据库的用户名,地址,密码等,便能在 Navicat 中远程操做服务器上的 MySQL 啦。