• Navicat如何连接远程服务器的MySQL


    参考:https://blog.csdn.net/a648119398/article/details/122420906

    1.Navicat for Mysql
    2.腾讯云轻量级服务器一台(Centos 7)
    3.Mysql 8.0.24(远程服务器内安装的)
    4.Xshell7(连接操作远程服务器)
    一、修改mysql的远程授权登录设置
    1、登录远程服务器的数据库(使用Xshell)

    mysql -uroot -p    ## 以root登录数据库 
    
    • 1

    输入root的登录密码,成功后会看到以下信息:
    在这里插入图片描述
    2、查看mysql服务当前的默认端口

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

    在这里插入图片描述

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

    3.修改host允许任何ip访问
    继续在命令面板输入以下指令:

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

    在这里插入图片描述
    看到以上信息说明修改成功!

    这时再使用之前的命令:

    select user,host from user;    ## 查看用户访问端口
    
    • 1

    会看到:root用户的host已经修改为’%'!
    在这里插入图片描述
    注意:修改完成后 还需要刷新一下服务配置,不然修改不会生效,并且第4步会执行失败。

    接着在命令面板输入:

    mysql> FLUSH PRIVILEGES;    ## 刷新服务配置项
    
    • 1

    显示Query OK,表示刷新完成。现在就可以配置我们想要远程登录的用户权限了。

    4.授权root用户进行远程登录
    输入命令:

    mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root_pwd'; ## 授权root远程登录 后面的root_pwd代表登录密码
    
    • 1

    输入完之后,看到Query OK,说明执行成功!

    说明:此命令可以授权任何在mysql数据库user表中的用户以远程登录的方式访问数据库,本例中以’root’作为举例,若想授权其他用户,只需修改’root’的值为指定用户即可,'root_pwd’为’root’用户对应的登录密码,可以修改为你想要授权用户的登录密码。
    
    • 1

    5.启动本地Navicat连接
    打开Navicat客户端,新建mysql连接
    在这里插入图片描述
    输入相关信息:
    在这里插入图片描述
    如果显示连接成功了,那么恭喜你,可以进行远程操作数据库了
    如果显示2003错误,无法连接上数据库,请继续看下面的操作

    二、解决无法连接问题(2003)
    1、首先确定防火墙放行3306端口
    在这里插入图片描述
    2、确定防火请是否启动
    未启动

    [root@centos7 ~]#  firewall-cmd  --zone=public  --add-port=3306/tcp      --permanent
    FirewallD is not running
    
    [root@centos7 ~]# systemctl status firewalld 
    ● firewalld.service - firewalld - dynamic firewall daemon
    Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
    Active: inactive (dead) #表示防火强未启动
    Docs: man:firewalld(1)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    已启动

    [root@centos7 ~]# systemctl start firewalld 
    
    [root@centos7 ~]# systemctl  status  firewalld 
    ● firewalld.service - firewalld - dynamic firewall daemon
    Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
    Active: active (running) since Sun 2021-03-07 20:57:40 CST; 9s ago #active (running)表示防火墙已启动
    Docs: man:firewalld(1)
    Main PID: 29918 (firewalld)
    CGroup: /system.slice/firewalld.service
    └─29918 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在这里插入图片描述
    3、放通防火墙

    [root@centos7 ~]#  firewall-cmd  --zone=public  --add-port=3306/tcp      --permanent
    success
    
    • 1
    • 2

    4、重新添加防火墙规则

    [root@centos7 ~]# firewall-cmd --permanent --add-port=3305/tcp
    success
    [root@centos7 ~]# firewall-cmd --reload 
    success
    
    • 1
    • 2
    • 3
    • 4
  • 相关阅读:
    SiO2/KH550修饰四氧化三铁纳米磁性颗粒|PDA包裹四氧化三铁磁性纳米颗粒(科研级)
    C++第七弹 -- C/C++内存管理
    低成本、大容量、高交互…Polkadot 引领 GameFi 实现新突破
    为SpringBoot Admin监控的服务端加上登录认证
    狂神的springboot课程员工管理系统
    RNN项目实战——文本输入与预测
    Python面向对象与pickle对象持久化示例
    LeetCode //C++ - 427. Construct Quad Tree
    Docker系列第01部分:介绍+虚拟化+什么是Decker+组件
    【Vite + Vue3】ElementPlus el-select 实现下拉选择图标,并将图标回显到选择框中
  • 原文地址:https://blog.csdn.net/qq_21237549/article/details/133781811