CentOS6.9下zabbix_server3.0.17不能监听端口tcp10051
# 安装环境
操作系统:CentOS6.9
监控软件版本:zabbix-3.0.17
mysql版本:5.6.40(源码安装)
1. 安装配置全部OK
[root@zaibei-db zabbix]# service mysqld status
SUCCESS! MySQL running (25075)
[root@zaibei-db zabbix]# service httpd status
httpd (pid 25212) is running...
2. 使用netstat -untlap |grep :10051
[root@zaibei-db conf]# ps -ef | grep zabbix
zabbix 14460 1 0 19:29 ? 00:00:00
/usr/local/zabbix/sbin/zabbix_server
root 14487 3409 0
19:29 pts/0 00:00:00 grep
zabbix
[root@zaibei-db zabbix]# netstat -untlap |grep :10051
未查到任何结果
以上现象可以打开日志文件查看原因排错
[root@zaibei-db zabbix]# cat /tmp/zabbix_server.log
...
14460:20180513:193324.088 [Z3001] connection
to database 'zabbix' failed: [2002] Can't connect to local MySQL
server through socket '/usr/local/mysql/mysql.sock' (2)
14460:20180513:193324.088 database is down:
reconnecting in 10 seconds
14460:20180513:193334.088 [Z3001] connection
to database 'zabbix' failed: [2002] Can't connect to local MySQL
server through socket '/usr/local/mysql/mysql.sock' (2)
14460:20180513:193334.088 database is down:
reconnecting in 10 seconds
14460:20180513:193344.088 [Z3001] connection
to database 'zabbix' failed: [2002] Can't connect to local MySQL
server through socket '/usr/local/mysql/mysql.sock' (2)
...
一种:因为mysql root 用户登录设置密码造成的.
解决方法,登录mysql ,set password=password("");
重启mysql 和 zabbix_server 服务即可恢复正常
二种:mysql错误-修改mysql.sock位置
在Mysql下有时候会出现mysql.sock位置错误,导致无法链接数据库。
首先修改my.cnf,位置在/etc/my.cnf下,假如没有的话,去/usr/locate/mysql版本/my.cnf下修改,然后复制到/etc下。
修改为如下:
[root@zaibei-db zabbix]# vi /etc/my.cnf
[client]
socket=/usr/local/mysql/mysql.sock
[mysqld]
socket=/usr/local/mysql/mysql.sock
没有[client]的话,自己添加~
然后重启mysql服务,打开mysql看看位置变了没,status查看
[root@zaibei-db zabbix]# /etc/init.d/mysqld start
Starting MySQL. SUCCESS!
[root@zaibei-db zabbix]# mysql -uroot -p
Enter password:
mysql> status;
--------------
mysql Ver 14.14 Distrib 5.6.40, for Linux
(x86_64) using EditLine wrapper
Connection id: 16
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.6.40 Source distribution
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
UNIX socket: /usr/local/mysql/mysql.sock
Uptime: 11 sec
Threads: 16 Questions: 103 Slow queries: 0 Opens: 93 Flush
tables: 1 Open tables: 86 Queries per second avg: 9.363
--------------
然后修改php.ini(位置为/etc/php.ini)没有的话,copy一个php.ini.default
[root@zaibei-db zabbix]# vi /etc/php.ini
pdo_mysql.default_socket = /usr/local/mysql/mysql.sock
mysql.default_socket = /usr/local/mysql/mysql.sock
mysqli.default_socket = /usr/local/mysql/mysql.sock
这三个全部修改好
[root@zaibei-db zabbix]# service httpd restart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]
[root@zaibei-db zabbix]# /etc/init.d/zabbix_server
restart
Shutting down zabbix_server: [ OK ]
Starting zabbix_server: [ OK ]
[root@zaibei-db conf]# ps -ef | grep zabbix
zabbix 25263 1 0 08:25 ? 00:00:00
/usr/local/zabbix/sbin/zabbix_server
zabbix 25274
25263 0 08:25 ? 00:00:00
/usr/local/zabbix/sbin/zabbix_server: configuration syncer [synced
configuration in 0.004402 sec, idle 60 sec]
zabbix 25275
25263 0 08:25 ? 00:00:00
/usr/local/zabbix/sbin/zabbix_server: db watchdog [synced alerts
config in 0.001040 sec, idle 60 sec]
zabbix 25276
25263 0 08:25 ? 00:00:00
/usr/local/zabbix/sbin/zabbix_server: poller #1 [got 0 values in
0.000003 sec, idle 5 sec]
zabbix 25277
25263 0 08:25 ? 00:00:00
/usr/local/zabbix/sbin/zabbix_server: poller #2 [got 0 values in
0.000003 sec, idle 5 sec]
zabbix 25278
25263 0 08:25 ? 00:00:00
/usr/local/zabbix/sbin/zabbix_server: poller #3 [got 0 values in
0.000003 sec, idle 5 sec]
zabbix 25279
25263 0 08:25 ? 00:00:00
/usr/local/zabbix/sbin/zabbix_server: poller #4 [got 0 values in
0.000004 sec, idle 5 sec]
zabbix 25280
25263 0 08:25 ? 00:00:00
/usr/local/zabbix/sbin/zabbix_server: poller #5 [got 0 values in
0.000004 sec, idle 5 sec]
zabbix 25281
25263 0 08:25 ? 00:00:00
/usr/local/zabbix/sbin/zabbix_server: unreachable poller #1 [got 0
values in 0.000006 sec, idle 5 sec]
zabbix 25282
25263 0 08:25 ? 00:00:00
/usr/local/zabbix/sbin/zabbix_server: unreachable poller #2 [got 0
values in 0.000007 sec, idle 5 sec]
zabbix 25283
25263 0 08:25 ? 00:00:00
/usr/local/zabbix/sbin/zabbix_server: unreachable poller #3 [got 0
values in 0.000015 sec, idle 5 sec]
zabbix 25284
25263 0 08:25 ? 00:00:00
/usr/local/zabbix/sbin/zabbix_server: unreachable poller #4 [got 0
values in 0.000004 sec, idle 5 sec]
zabbix 25285
25263 0 08:25 ? 00:00:00
/usr/local/zabbix/sbin/zabbix_server: unreachable poller #5 [got 0
values in 0.000003 sec, idle 5 sec]
zabbix 25286
25263 0 08:25 ? 00:00:00
/usr/local/zabbix/sbin/zabbix_server: unreachable poller #6 [got 0
values in 0.000003 sec, idle 5 sec]
...
[root@zaibei-db zabbix]# netstat -untlap |grep :10051
tcp 0 0 172.16.10.68:10051 0.0.0.0:* LISTEN 25263/zabbix_server
就可以了~
看phpinfo()下mysql.sock是否变了~
!!!The end!!!