一、情景描述
监控告警:MySQL database "zabbix" on "localhost" is not available: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111),到数据库服务器查看发现/data盘空间满了,进去后发现是mysql目录太大导致,需要清理zabbix下的mysql历史数据。
mysql在哪里可以在配置文件中找到,我的是放在datadir=/data/mysql。
二、解决方法
1.停zabbix-server服务
2.进入zabbix数据库找到history和history_uint
①mysql -uroot -p123456 -P3306 -h172.30.5.8
②use zabbix
③desc history; desc history_uint;
④查看时间戳
date +%s -d "May 13 11:36:10"
⑤清理时间戳之前的历史数据。
delete from history where clock < 1652412970;
optimize table history
3.重启zabbix-server服务
/usr/sbin/zabbix_server_mysql -c /etc/zabbix/zabbix_server.conf