zabbix數據庫清理mysql
【原由】
sql
zabbix 因爲監控條目過多,模板套用不當致使歷史數據過大, 所以致使磁盤空間暴漲, 如今準備清理數據庫。數據庫
【解決思路】
vim
1,先中止數據庫服務centos
2,中止zabbix服務bash
3,進入數據庫存儲路徑/var/lib/mysqlapp
4,修改 my.cnf配置tcp
5,重啓數據庫ide
6,分析history表ui
7,按照時間戳刪除兩週前數據方法或者是更久以前的文件
8,啓動 mysql,zabbix,httpd 服務
9,縮減後對比存儲空間
10,檢查zabbix服務是否運行正常
【解決步驟】
1,先中止數據庫服務
[root@zabbix ~]# systemctl stop mysqld
2,中止zabbix服務
[root@zabbix ~]# systemctl stop zabbix-server.service
3,進入數據庫存儲路徑/var/lib/mysql
[root@zabbix ~]# cd /var/lib/mysql/zabbix [root@zabbix zabbix]#du -sh * 發現兩個最大的文件history, history_unit 2個history文件一共用去20G左右空間 [root@zabbix zabbix]# df -TH Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/centos-root xfs 28G 23G 5.0G 83% / devtmpfs devtmpfs 4.2G 0 4.2G 0% /dev tmpfs tmpfs 4.2G 0 4.2G 0% /dev/shm tmpfs tmpfs 4.2G 9.3M 4.2G 1% /run tmpfs tmpfs 4.2G 0 4.2G 0% /sys/fs/cgroup /dev/sda1 xfs 1.1G 173M 891M 17% /boot tmpfs tmpfs 838M 0 838M 0% /run/user/0
4,修改 my.cnf配置
vim /etc/my.cnf 添加以下內容:skip-new
5,重啓數據庫
[root@zabbix ~]# systemctl restart mysqld
6,分析history表
[root@zabbix ~]#mysql -uroot -p mysql >show databases; mysql >use zabbix; mysql> desc history; mysql> select max(itemid) from history; 根據時間戳刪除文件
7,按照時間戳刪除兩週前數據方法或者是更久以前的文件
[root@zabbix ~]# date +%s -d "Mar 2, 2019 00:00:00" 1551456000 我這裏是由於數據沒有過重要關係,因此我就選擇truncate來刪除歷史文件。 mysql> truncate table history; mysql> truncate table history_uint; 固然你也能夠使用delete from table history where <1551456000;來清除數據庫文件。
8,啓動 mysql,zabbix,httpd 服務
[root@zabbix ~]# systemctl restart mysqld [root@zabbix ~]# systemctl start zabbix [root@zabbix ~]# systemctl start httpd
9,縮減後對比存儲空間
[root@zabbix zabbix]# df -TH Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/centos-root xfs 28G 9.7G 19G 35% / devtmpfs devtmpfs 4.2G 0 4.2G 0% /dev tmpfs tmpfs 4.2G 0 4.2G 0% /dev/shm tmpfs tmpfs 4.2G 9.3M 4.2G 1% /run tmpfs tmpfs 4.2G 0 4.2G 0% /sys/fs/cgroup /dev/sda1 xfs 1.1G 173M 891M 17% /boot tmpfs tmpfs 838M 0 838M 0% /run/user/0
10,檢查zabbix服務是否運行正常
[root@zabbix zabbix]# netstat -lantup |grep zabbix tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 8417/zabbix_server tcp6 0 0 :::10051 :::* LISTEN 8417/zabbix_server [root@zabbix zabbix]# netstat -lantup |grep mysqld tcp6 0 0 :::3306 :::* LISTEN 29876/mysqld [root@zabbix zabbix]# netstat -lantup |grep httpd tcp6 0 0 :::80 :::* LISTEN 2620/httpd tcp6 0 0 :::443 :::* LISTEN 2620/httpd