解决Navicat for MySQL无法远程连接zabbix服务器中的MySQL数据库

4 篇文章 0 订阅
1 篇文章 0 订阅

问题描述

今天计划在zabbix后台增加item监控项,于是到数据库中查看相关表值,发现Navicat 软件无法连接MySQL数据库,并提示报错信息:
2003 - Can’t connect to MySQL server on ‘192.1 68.245.132’ (10060 “Unknown error”)
经过不断分析排查,终于找到问题所在,并得以解决。

问题所在

最终发现问题为以下3点:
① MySQL密码为空 (因为是从官网直接下载安装的zabbix_server 虚拟机,数据库默认密码为空);
② 没有授权root从其他计算机远程登录;
③ 没有将数据库端口3306在防火墙上放行;

解决办法

  1. MySQL设置密码:
mysql> SET PASSWORD = 'zabbix';        //设置密码,注意一定大写
  1. 授权root允许从其他计算机远程登录;
mysql>use mysql;
mysql>select host, user from user;                      //查看主机、用户关系表
mysql>update user set host = '%' where user ='root';     //更新root登录主机权限
mysql> FLUSH PRIVILEGES;                                 //保存生效
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;    //赋予任何主机访问数据的权限
mysql> FLUSH PRIVILEGES;                                //再次保存生效

授权前后user和host关系表;


# 授权root前

mysql> select host, user from user;
+-----------+------------------+
| host      | user             |
+-----------+------------------+
| localhost | mysql.infoschema |
| localhost | mysql.session    |
| localhost | mysql.sys        |
| localhost | root             |
| localhost | zabbix_srv       |
| localhost | zabbix_web       |
+-----------+------------------+

## 授权root后

mysql> select host, user from user;
+-----------+------------------+
| host      | user             |
+-----------+------------------+
| %         | root             |
| localhost | mysql.infoschema |
| localhost | mysql.session    |
| localhost | mysql.sys        |
| localhost | zabbix_srv       |
| localhost | zabbix_web       |
+-----------+------------------+
  1. 在防火墙上将数据库端口3306放行;
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
service iptables save              ##保存防火墙策略

补充说明

在通过 service iptables save 保存防火墙策略时,提示如下错误:

iptables: Saving firewall rules to /etc/sysconfig/iptables: /usr/libexec/iptables/iptables.init: line 237: restorecon: command not found
                                                           [FAILED]

可通过安装policycoreutils 解决此问题;

yum install policycoreutils

安装完毕之后,再次保存防火墙策略,发现可以正常保存;

service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]
  1. 通过Navicat再次连接MySQL数据库,发现已经可以正常连接访问;
    在这里插入图片描述

END!

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

昭哥-HYZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值