Navicat连接CENTOS7中MYSQL报错2003和1130

本文介绍了如何解决MySQL常见的2003错误(防火墙问题)和1130错误(权限问题)。对于2003错误,提供了开放3306端口的方法和关闭防火墙的步骤;对于1130错误,则说明了如何通过修改MySQL数据库中user表的host字段来实现远程连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:解决2003:

    防火墙问题,需要开放对应端口(3306)或者关闭防火墙;

    1.开放3306端口: firewall-cmd --zone=public --add-port=3306/tcp --permanent    然后重启防火墙
            命令含义:
 
            --zone #作用域
 
            --add-port=3306/tcp  #添加端口,格式为:端口/通讯协议
 
            --permanent   #永久生效,没有此参数重启后失效
 
        防火墙简单命令:
                重启防火墙:firewall-cmd --reload
                查看防火墙状态:firewall-cmd --state
                关闭防火墙:systemctl stop firewalld.service
                开启防火墙:systemctl start firewalld.service
                禁止开机启动启动防火墙:systemctl disable firewalld.service

    2.关闭防火墙:关闭防火墙:systemctl stop firewalld.service(临时关闭)
                          禁止开机启动启动防火墙:systemctl disable firewalld.service


二:解决1130:
    
    在安装mysql的虚拟机中登录mysql账号,更改“mysql”数据库里的“user”表里的“host”项,把原来的“localhost”改成“%”;
   
    mysql -uroot -p password
    mysql>use mysql;
    mysql>update user set host = '%' where user = 'root';
    mysql>select host, user from user;
    mysql>flush privileges或mysql>service mysqld restart生效以上设置
### Navicat 连接 MySQL 服务器 错误 2003 的解决方案 当遇到错误 2003 时,通常表示客户端无法建立与 MySQL 服务器的 TCP/IP 连接。这可能是由于网络配置不当或其他连接参数设置有误造成的。 #### 检查并修正 `bind-address` 设置 如果 MySQL 配置文件中的 `bind-address` 被设为了仅监听本地地址 (例如 `127.0.0.1`) ,那么远程连接将会被拒绝。可以通过编辑 MySQL 的配置文件 `/etc/mysql/mysql.conf.d/mysqld.cnf` 来允许来自任何 IP 地址的连接请求[^2]: ```bash sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf ``` 找到 `bind-address=127.0.0.1` 并将其更改为 `bind-address=0.0.0.0` 或者注释掉这一行以接受所有接口上的连接请求。更改完成后重启 MySQL 服务使新配置生效: ```bash sudo systemctl restart mysql.service ``` #### 修改防火墙规则 确保操作系统级别的防火墙不会阻止外部访问 MySQL 默认端口 3306 。对于基于 RedHat/CentOS 的系统可以使用 firewalld 命令开放该端口;而对于 Debian/Ubuntu 则可利用 ufw 工具完成相同操作: RedHat/CentOS: ```bash firewall-cmd --permanent firewall-cmd --reload ``` Debian/Ubuntu: ```bash ufw allow 'MYSQL' ``` #### 更新 Navicat 中的目标主机信息 回到 Navicat 客户端,在创建或编辑现有数据库连接时,请务必指定正确的目标主机名或 IP 地址而不是 "localhost"[^1]。如果是通过公网IP进行连接,则应填写实际分配给服务器的那个公共IPv4地址而非回环地址(`127.0.0.1`)。 #### 授予适当权限 最后一步是要保证用于登录 MySQL 数据库账户有足够的权限执行所需的操作。特别是要授予 root 用户或者其他管理员级别账号能够从任意位置 (`%`) 登录的权利[^4]: ```sql UPDATE user SET host='%' WHERE User='root'; FLUSH PRIVILEGES; ``` 以上措施应该能有效解决大多数情况下因配置问题引发的 Navicat MySQL 之间的连通性障碍。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值