使用navicat远程连接服务器数据库

xsir 2020-03-18 PM 111℃ 2条 1690字 Site load time is:7 ms 百度:已收录

记录一下使用navicat远程连接服务器数据库的方法。

我目前所知的有两种方法。

第一种使用ssh通道连接数据库

2.png

3.png

4.png

连接成功后会要求你输入服务器密码,如果不想每次都输入密码,在上面第二张图中勾上保存密码即可。如果连接未成功请检查用户名和密码是否输入错误,或者检测服务器3306端口是否开启。
这种方法更具安全性,适合服务器拥有者自己连接,但如果想让其他人也能连数据库,这种方法就不好了(除非是你非常信任的人,能保证他不会删库跑路,破坏你的服务器)。

第二种方法

  • 1、用root账号登录mysql,新建一个用户设置好密码,比如账号:xsir, 密码:654321
create user 'xsir'@'%' identified by '654321';

'%'表示任意ip都可以访问,当然也可以指定某个ip。

  • 2、然后分配权限
grant all privileges on test.* to 'xsir'@'%';

这里是只允许xsir用户访问test数据库下的所有表, 如果想让xsir访问所有数据库,只需把test换成*。
分配完权限后记得刷新权限.

flush privileges;
  • 3、当然,此时还无法通过navicat远程连接数据库。还需要登录云服务器控制台添加配置规则(我的服务器运营商是阿里),步骤如下:
    6.png

7.png

  • 4、服务器设置防火墙添加3306端口(当然这一步直接关闭防火墙也是可以的,但是这样就降低了服务器安全性)。不同版本的linux, 命令会不一样(我这是centos7)。
# 查看3306端口是否对外开放(注意等号两端不能有空格!!!)
firewall-cmd --query-port=3306/tcp

如果显示yes可以跳过以下步骤直接到第五步,如果显示no,则需添加3306端口

# 添加3306端口
firewall-cmd --add-port=3306/tcp [--permanent]

--permanent参数表示永久有效,不填该参数则服务器重启后失效。

# 重新载入端口
firewall-cmd --reload
# 再次查看3306端口, 不出意外的话应该显示yes
firewall-cmd --query-port=3306/tcp
  • 5、使用navicat远程连接数据库
    8.png

9.png

这样就实现了指定用户只能访问指定数据库啦。

标签: mysql, linux

非特殊说明,本博所有文章均为博主原创。

评论啦~



已有 2 条评论


  1. 哥的心禁止访问
    哥的心禁止访问

    一楼娶博主

    回复 2020-05-17 10:32
    1. xsir
      xsir 博主

      哈哈哈哈

      回复 2020-05-17 10:51
召唤看板娘