• 售前

  • 售后

热门帖子
入门百科

Navicat如何连接远程服务器的MYSQL8

[复制链接]
ssffgsa 显示全部楼层 发表于 2022-1-12 23:48:07 |阅读模式 打印 上一主题 下一主题
前言:

   运行环境及工具
  

  • Navicat for Mysql
  • 腾讯云轻量级服务器一台(Centos 7)
  • Mysql 8.0.24(远程服务器内安装的)
  • Xshell7(连接操作远程服务器)
一、修改mysql的远程授权登录设置

1、登录远程服务器的数据库(使用Xshell)

  1. mysql -uroot -p    ## 以root登录数据库
复制代码
输入root的登录密码,成功后会看到以下信息:

2、查看mysql服务当前的默认端口

  1. use mysql;    ## 选择mysql数据库
  2. select user,host from user;    ## 查看用户访问端口
复制代码

   说明:root用户默认的是localhost,说明只允许从本地登录mysql服务。而我们要从远程以root用户连接数据库,就必须修改host的值,改为**’%’**:允许任何ip访问。
  3.修改host允许任何ip访问

继续在命令面板输入以下指令:
  1. update user set host = '%' where user = 'root';
复制代码

看到以上信息说明修改成功!
这时再使用之前的命令:
  1. select user,host from user;    ## 查看用户访问端口
复制代码
会看到:root用户的host已经修改为’%’!

   注意修改完成后 还需要刷新一下服务配置,不然修改不会生效,并且第4步会执行失败。
  接着在命令面板输入:
  1. mysql> FLUSH PRIVILEGES;    ## 刷新服务配置项
复制代码
显示Query OK,表示刷新完成。现在就可以配置我们想要远程登录的用户权限了。
4.授权root用户进行远程登录

输入命令:
  1. mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root_pwd'; ## 授权root远程登录 后面的root_pwd代表登录密码
复制代码
输入完之后,看到Query OK,说明执行成功!
   说明:此命令可以授权任何在mysql数据库user表中的用户以远程登录的方式访问数据库,本例中以’root’作为举例,若想授权其他用户,只需修改’root’的值为指定用户即可,'root_pwd’为’root’用户对应的登录密码,可以修改为你想要授权用户的登录密码。
  5.启动本地Navicat连接

打开Navicat客户端,新建mysql连接

输入相关信息:

如果显示连接成功了,那么恭喜你,可以进行远程操作数据库了
   如果显示2003错误,无法连接上数据库,请继续看下面的操作
  二、解决无法连接问题(2003)

1、首先确定防火墙放行3306端口


2、确定防火请是否启动

   未启动
  1. [root@centos7 ~]#  firewall-cmd  --zone=public  --add-port=3306/tcp      --permanent
  2. FirewallD is not running
  3. [root@centos7 ~]# systemctl status firewalld
  4. ● firewalld.service - firewalld - dynamic firewall daemon
  5. Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
  6. Active: inactive (dead) #表示防火强未启动
  7. Docs: man:firewalld(1)
复制代码
  已启动
  1. [root@centos7 ~]# systemctl start firewalld
  2. [root@centos7 ~]# systemctl  status  firewalld
  3. ● firewalld.service - firewalld - dynamic firewall daemon
  4. Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
  5. Active: active (running) since Sun 2021-03-07 20:57:40 CST; 9s ago #active (running)表示防火墙已启动
  6. Docs: man:firewalld(1)
  7. Main PID: 29918 (firewalld)
  8. CGroup: /system.slice/firewalld.service
  9. └─29918 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid
复制代码

3、放通防火墙

  1. [root@centos7 ~]#  firewall-cmd  --zone=public  --add-port=3306/tcp      --permanent
  2. success
复制代码
4、重新添加防火墙规则

  1. [root@centos7 ~]# firewall-cmd --permanent --add-port=3305/tcp
  2. success
  3. [root@centos7 ~]# firewall-cmd --reload
  4. success
复制代码
  然后继续使用Navicat来连接即可

来源:https://blog.caogenba.net/a648119398/article/details/122420906
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作