Zabbix:Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
1. 问题原因
MySQL配置的socket文件路径发生变化,通过默认位置的mysql.scok文件无法连接MySQL,或者默认位置不存在mysql.sock文件。
2. 解决方案
2.1 my.cnf 配置
vim /etc/my.cnf
检查 [mysqld] [mysql] [client] 三个部分是否都配置了socket的文件路径,如果没有,则在对应模块添加socket配置,然后重启MySQL服务;
2.2 zabbix_server.conf 配置
vim /etc/zabbix/zabbix_server.conf
DBSocket=/home/mysql/mysql.sock
如果DBSocket配置项被注释了,则放开注释,再把mysql.sock的文件位置配置到该选项;
然后重启 zabbix-server服务;
tailf /var/log/zabbix/zabbix_server.log 观察日志看能否正常启动;
2.3 zabbix.conf.php 配置
vim /etc/zabbix/web/zabbix.conf.php
<?php // Zabbix GUI configuration file. global $DB; $DB['TYPE'] = 'MYSQL'; $DB['SERVER'] = 'localhost'; $DB['PORT'] = '3306'; $DB['DATABASE'] = 'zabbix'; $DB['USER'] = 'zabbix'; $DB['PASSWORD'] = '12345678'; // Schema name. Used for IBM DB2 and PostgreSQL. $DB['SCHEMA'] = ''; $ZBX_SERVER = 'localhost'; $ZBX_SERVER_PORT = '10051'; $ZBX_SERVER_NAME = 'bus-zabbix'; $IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
检查MySQL的配置信息是否正确;
2.4 软连接
创建一个mysql.sock文件的软连接到mysql.sock默认路径;
比如:ln -s /home/mysql/mysql.sock /var/lib/mysql/mysql.sock
我按照上述操作修改配置,重启服务后界面依然显示通过默认sock文件无法连接到MySQL,最后通过创建软连接解决问题。
如果文章对您有所帮助,可以点一下推荐