Navicat远程连接MySQL服务器
Posted 没反应说说说
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Navicat远程连接MySQL服务器相关的知识,希望对你有一定的参考价值。
文章目录
Navicat:数据库可视化工具
一、准备
- 一台开启 SSH 登录的 Linux 服务器 或 已开启远程登录 mysql
- 安装好Navicat
二、配置Navicat允许远程连接MySQL数据库
打开Navicat,点击左上角的连接,选择MySQL
1、使用Navicat直接连接MySQL
如果你的数据库对外开放允许外部访问的话,可以选择直接连接。如果你不知道怎么打开数据库远程访问,可看这篇教程:《远程直接连接 MySQL 数据库,阿里云腾讯云允许远程连接教程》,特别要注意的是阿里云等云服务商自己还有防火墙,也要手动打开,细节可看上句提到的那篇教程。
2、使用 Navicat 通过 SSH 远程登录后再本地方式连接 MySQL
如果你的数据库为了安全考虑没有打开数据库远程连接,而是通过 SSH 先登录服务器,然后再以本地登录的方式登录数据库的话,可以在「常规」里设置本地登录的信息,注意主机地址要写「localhost」,再选择「SSH」的选项卡配置远程服务器登录信息即可登录。
先配置SSH连接
如果你使用的是 MySQL 8.0 以上版本的数据库,可能会碰到「caching_sha2_password」连接报错,这个错误的原因是 MySQL 8.0 更改了远程登录的账号认证方式,修复方法可看大神写的这篇教程《解决 MySQL 中 caching_sha2_password 连接报错和认证方式改为 mysql_native_password 的方法》
3、查看连接
输入好所需信息后点击确定就可以连接好了,然后就可以看到数据库中的信息了
为什么使用ssh登录
1.便捷性
我这里使用的是腾讯云轻量应用服务器,腾讯云轻量应用服务器处于安全考虑默认自带安全组,如果说使用mysql、redis等要单独开放端口,比如这里我们就要开放3306端口来进行MySQL连接,是比较麻烦的。
Navicat 通过SSH连接MySQL数据库,不用对外开放数据库端口(默认3306),也不用另外创建一个允许外部网络连接用户,可以大大提高安全性,当然,前提你是的服务器要开启ssh服务。
参考链接:
Navicat 怎么远程连接 MySQL 服务器 - Navicat 使用教程
Navicat远程连接远程数据库Mysql
Navicat 远程连接 MySQL
Navicat 远程连接 MySQL
相信大家都有在远程服务器上进行开发吧,其中 MySQL 的使用率应该也会挺高,如果使用 Navicat 等可视化工具来操作远程数据库不失为一种很好的选择,避免了在命令行写 SQL 语句的操作。下面简单介绍一下 Navicat 连接远程数据库的操作。
1
首先我们需要更改 3306端口,查看3306 端口是否对外开放,MySQL 默认情况下是不开放对外访问功能的。语句如下:
netstat -an | grep 3306
如果查询结果如下,需要我们更改 MySQL 配置文件。
可以看出,mysql的3306端口只是监听本地的连接,这样就阻碍了外部IP对该数据库的访问,修改 MySQL 配置文件 my.conf :
vim /etc/mysql/my.cnf
找到
# 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 语句,查看用户是否具有访问权限:
use mysql;
select user, host from user;
返回结果如下:
我们使用通配符 % 来修改 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 啦。
以上是关于Navicat远程连接MySQL服务器的主要内容,如果未能解决你的问题,请参考以下文章
用Navicat for MySQL远程连接服务器数据库,知道账号和密码。我在客户机这边用Navi
Linux系统如何开通远程连接Mysql5数据库 我购买了个电信通的VPS,但本地navicat连不上远程VPS的数据库