服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|

服务器之家 - 数据库 - Mysql - Navicat 远程连接 MySQL实现步骤解析

Navicat 远程连接 MySQL实现步骤解析

2020-11-30 16:30希希里之海 Mysql

这篇文章主要介绍了Navicat 远程连接 MySQL实现步骤解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

前言

相信大家都有在远程服务器上进行开发吧,其中 mysql 的使用率应该也会挺高,如果使用 navicat 等可视化工具来操作远程数据库不失为一种很好的选择,避免了在命令行写 sql 语句的操作。下面简单介绍一下 navicat 连接远程数据库的操作。

1

首先我们需要更改 3306端口,查看3306 端口是否对外开放,mysql 默认情况下是不开放对外访问功能的。语句如下:

?
1
netstat -an | grep 3306

如果查询结果如下,需要我们更改 mysql 配置文件。

Navicat 远程连接 MySQL实现步骤解析

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

?
1
vim /etc/mysql/my.cnf

找到

?
1
2
3
# 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 远程访问端口就成功开启了。

2

我们进入 mysql 命令界面,运行下列sql 语句,查看用户是否具有访问权限:

?
1
2
use mysql;
select user, host from user;

返回结果如下:

Navicat 远程连接 MySQL实现步骤解析

我们使用通配符 % 来修改 root 用户对应的 host 字段,使具有访问所有 ip 地址的权限:

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

如果抛出如下异常:

?
1
duplicate entry '%-root' for key 'primary'

说明有多个root用户纪录在user表中了,我们重新执行:

?
1
select host from user where user = 'root';

便能看到字段 host 的 % 值。

我们执行:

?
1
flush privileges;

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

最后重启一下 mysql 服务:

?
1
sudo restart mysql

3

服务端设置好了,我们在 navicat 客户端设置一下连接:

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

Navicat 远程连接 MySQL实现步骤解析

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://www.cnblogs.com/weixuqin/p/9530605.html

延伸 · 阅读

精彩推荐