首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Navicat 远程连接 MySQL

Navicat 远程连接 MySQL

作者头像
希希里之海
发布2018-08-30 15:38:39
发布2018-08-30 15:38:39
26.8K100
代码可运行
举报
文章被收录于专栏:weixuqin 的专栏weixuqin 的专栏
运行总次数:0
代码可运行

Navicat 远程连接 MySQL

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

1

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

代码语言:javascript
代码运行次数:0
运行
复制
netstat -an | grep 3306

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

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

代码语言:javascript
代码运行次数:0
运行
复制
vim /etc/mysql/my.cnf

找到

代码语言:javascript
代码运行次数:0
运行
复制
# 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 语句,查看用户是否具有访问权限:

代码语言:javascript
代码运行次数:0
运行
复制
use mysql;
select user, host from user;

返回结果如下:

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

代码语言:javascript
代码运行次数:0
运行
复制
update user set host = '%' where user = 'root';

如果抛出如下异常:

代码语言:javascript
代码运行次数:0
运行
复制
Duplicate entry '%-root' for key 'PRIMARY'

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

代码语言:javascript
代码运行次数:0
运行
复制
select host from user where user = 'root';

便能看到字段 host 的 % 值。

我们执行:

代码语言:javascript
代码运行次数:0
运行
复制
flush privileges;

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

最后重启一下 MySQL 服务:

代码语言:javascript
代码运行次数:0
运行
复制
sudo restart mysql

3

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-08-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Navicat 远程连接 MySQL
    • 1
    • 2
    • 3
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档