1.zabbix mysql 目录清单

  1. --basedir=/usr/local/web/mysql
  2. --datadir=/data/mysql
  3. --log-error=/data/mysql/syscent.bc.com.err
  4. --pid-file=/data/mysql/syscent.bc.com.pid
  5. --socket=/dev/shm/mysql.sock --port=3306
  6. Zabbix 数据文件目录
  7. /data/mysql/zabbix
  8.  
  9. Source server:192.168.1.2 3306
  10. Target server:192.168.1.4 3306

2.关闭zabbix

  1. /usr/local/zabbix/sbin/zabbix_server stop

3. zabbix配置文件修改

  1. /usr/local/zabbix/etc/zabbix_server.conf
  2. DBName=zabbix
  3. DBUser=zabbix
  4. DBPassword=
  5. DBPort=3306
  6. ListenIP=192.168.1.4

4.关闭mysql

  1. Service mysqld stop

5. 数据文件拷贝

  1. Scp /data/mysql/* xxx.xxx.xxx.xxx:/Mysql数据文件目录
  2.  
  3. 或者使用
  4.  
  5. Innobackupex迁移

6. 启动Mysql

  1. 配置文件修改:
  2. innodb_flush_log_at_trx_commit=0 or 2 建议0
  3. Sync_binlog=1000
  4. Mysqld_safe --defaults-file=/usr/local/mysql/my3306.cnf &

7. Mysql数据表导出

  1. mysqldump -uroot -p -P3306 -h127.0.0.1 --databases zabbix --tables history>history.sql
  2. mysqldump -uroot -p -P3306 -h127.0.0.1 --databases zabbix --tables history_str>history_str.sql
  3. mysqldump -uroot -p -P3306 -h127.0.0.1 --databases zabbix --tables history_text>history_text.sql
  4. mysqldump -uroot -p -P3306 -h127.0.0.1 --databases zabbix --tables history_uint>history_uint.sql

8.Mysql创建分区表

  1. History
  2. History_str
  3. History_uint
  4. History_text
  5.  
  6. 改成月分区表
  7.  
  8. CREATE TABLE history_uint(
  9. itemid bigint(20) unsigned NOT NULL,
  10. clock int(11) NOT NULL DEFAULT '',
  11. value bigint(20) unsigned NOT NULL DEFAULT '',
  12. Ns int(11) NOT NULL DEFAULT '',
  13. KEY history_uint_1 (itemid,clock)
  14. ) ENGINE=InnoDB DEFAULT CHARSET=utf8
  15. PARTITION BY RANGE(clock)
  16. (
  17. PARTITION p201708 VALUES LESS THAN (1504195200)
  18. ENGINE = INNODB,
  19. PARTITION p201709 VALUES LESS THAN (1506787200)
  20. ENGINE = INNODB,
  21. PARTITION p201710 VALUES LESS THAN (1509465600)
  22. ENGINE = INNODB);
  23. DATA DIRECTORY 根据请况是否添加
  24. 分区可以创建到2020,暂时不添加maxvalue
  25. 定时任务添加分区
  26.  
  27. History
  28. History_str
  29. History_uint
  30. History_text
  31. 分区操作同上

9.导入分区表

  1. history.sql,history_str.sql,history_text.sql,history_uint.sql drop table语句,以及create table 语句删除
  2. 然后执行语句,导入数据库

10.启动zabbix

  1. /usr/local/zabbix/sbin/zabbix_server start

11.定时任务删除历史数据

  1. 每月3号删除上上月分区,zabbix最大为2月历史数据
  2. 103号,删除8月分区,增加11月分区
  3.  
  4. #!/bin/bash
  5. #add by sk
  6. User="zabbix"
  7. Passwd="zabbix"
  8. #zabbix保留1月数据
  9. Date=`date -d "-2 months" +%Y%m`
  10. #添加分区使用
  11. Date_a=`date -d "2 months" +%Y%m`
  12. Date_b=`date -d "1 months" +%Y%m`
  13. Date_t=`date -d "2 months" +%Y-%m`-01
  14. v_time=`date +%s -d $Date_t`
  15.  
  16. $(which mysql) -u${User} -p${Passwd} -Dzabbix -e "
  17. ALTER TABLE history DROP PARTITION p$Date;
  18. ALTER TABLE history_str DROP PARTITION p$Date;
  19. ALTER TABLE history_text DROP PARTITION p$Date;
  20. ALTER TABLE history_uint DROP PARTITION p$Date;
  21. #添加分区如下:
  22. alter table history add partition (partition p$Date_b VALUES LESS THAN ($v_time) ENGINE = INNODB);
  23. alter table history_str add partition (partition p$Date_b VALUES LESS THAN ($v_time) ENGINE = INNODB);
  24. alter table history_text add partition (partition p$Date_b VALUES LESS THAN ($v_time) ENGINE = INNODB);
  25. alter table history_uint add partition (partition p$Date_b VALUES LESS THAN ($v_time) ENGINE = INNODB);
  26. "
  27.  
  28. 脚本参考MYSQL操作语句:
  29. ALTER TABLE history_uint DROP PARTITION p201709;
  30. alter table history_uint add partition (partition p201712 VALUES LESS THAN (1514736000) ENGINE = INNODB);

12.改成分区表原因

  1. 历史表数据删除耗费时间
  2. Delete from history_uint where clock<
  3. 如果添加optimize table时间就更长
  4. History_uint delete+optimize 保守3小时
  5. 删除分区时间较快

zabbix mysql 迁移 增加分区的更多相关文章

  1. Zabbix历史数据库迁移 及分区

    https://blog.csdn.net/hkyw000/article/details/78971201?utm_source=blogxgwz6

  2. zabbix使用mysql数据库 对表分区

    zabbix删除历史数据 mysql 表自动分区.删除 ----2016年终总结 二 zabbix清理历史数据是个比较蛋疼的问题,尤其在监控数据较多时,一方面无法彻底释放历史数据空间,一方面数据库删除 ...

  3. MySQL每天自动增加分区

    有一个表tb_3a_huandan_detail,每天有300W左右的数据.查询太慢了,网上了解了一下,可以做表分区.由于数据较大,所以决定做定时任务每天执行存过自动进行分区. 1.在进行自动增加分区 ...

  4. MySQL迁移[转]

    http://dbarobin.com/2015/09/15/migration-of-mysql-on-different-scenes/ MySQL 迁移方案概览 MySQL 迁移无非是围绕着数据 ...

  5. MySQL的表分区详解

    这篇文章主要介绍了MySQL的表分区,例如什么是表分区.为什么要对表进行分区.表分区的4种类型详解等,需要的朋友可以参考下 一.什么是表分区通俗地讲表分区是将一大表,根据条件分割成若干个小表.mysq ...

  6. MySQL的表分区(转载)

    MySQL的表分区(转载) 一.什么是表分区 通俗地讲表分区是将一大表,根据条件分割成若干个小表.mysql5.1开始支持数据表分区了. 如:某用户表的记录超过了600万条,那么就可以根据入库日期将表 ...

  7. mysql管理---表分区

    一.什么是表分区 通俗地讲表分区是将一大表,根据条件分割成若干个小表.mysql5.1开始支持数据表分区了. 如:某用户表的记录超过了600万条,那么就可以根据入库日期将表分区,也可以根据所在地将表分 ...

  8. 删除mysql数据库中表分区数据

    删除mysql数据库中表分区数据 zabbix 几个大表创建了分区,由于磁盘空间告警,特将3月前的分区给予删除. 1.查看表的数据占用磁盘空间情况 2.登录mysql中,查看表的分区情况. 3.删除表 ...

  9. MySQL针对Swap分区的运维注意点

    Linux有很多很好的内存.IO调度机制,但是并不会适用于所有场景.对于运维人员来说,Linux比较让人头疼的一个地方是:它不会因为MySQL很重要就避免将分配给MySQL的地址空间映射到swap上. ...

随机推荐

  1. .netcore中无法使用System.Drawing --解决方案

    问题重现: 无法正常使用  解决方法: 安装System.Drawing.Common的NuGet就能正常使用了 操作之后: 这个是.netcoe中的解决办法,.net framework解决方案中添 ...

  2. python之Selenium库的使用

    一  什么是Selenium selenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(Selenium Remote Control)和测试的并 ...

  3. js 设置 cookie

    function setCookie(name,value){ var Days = 30; var exp = new Date(); exp.setTime(exp.getTime() + Day ...

  4. matplotlib 知识点11:绘制饼图(pie 函数精讲)

    饼图英文学名为Sector Graph,又名Pie Graph.常用于统计学模块. 画饼图用到的方法为:matplotlib.pyplot.pie( ) #!/usr/bin/env python # ...

  5. Ubuntu ls可以查看到文件,图形界面却看不到

    解决方法:图形界面 Ctrl + h ,就可以显示出来隐藏文件

  6. PHP中文手册1

    1.入门 关于换行 PHP 会在输出时自动删除其结束符 ?>后的一个换行.该功能主要是针对在一个页面中嵌入多段 PHP 代码或者包含了无实质性输出的 PHP 文件而设计,与此同时也造成了一些疑惑 ...

  7. Dos窗口一闪而过,如何查看错误?

    问:Dos窗口一闪而过,如何查看错误? 答:在执行程序最后追加pause或者read(,),即可查看错误信息.

  8. *.rpm is not signed解决

    1.# yum install qemu*报错如下:Package qemu-kvm-tools-0.12.1.2-2.113.el6.x86_64.rpm is not signed2.解决# vi ...

  9. 对CSRF的理解及防范

    对CSRF的理解: 假定a是一个银行网站, b是一个危险网站. 当用户在访问a, 并且session并未结束的情况下, 去访问b网站, b网站就可以通过隐藏的url或者是表单来伪造用户对a的get或者 ...

  10. css3动画-加载中...

    写几个简单的加载中动画吧. 像前面三种都是相当于几个不同的点轮流来播放同一动画:变大变小.css3里面有一个用于尺度变换的方法:scale(x,y):定义 2D 缩放转换,改变元素的宽度和高度. 第四 ...