zabbix mysql 迁移 增加分区
1.zabbix mysql 目录清单
--basedir=/usr/local/web/mysql
--datadir=/data/mysql
--log-error=/data/mysql/syscent.bc.com.err
--pid-file=/data/mysql/syscent.bc.com.pid
--socket=/dev/shm/mysql.sock --port=3306
Zabbix 数据文件目录
/data/mysql/zabbix Source server:192.168.1.2 3306
Target server:192.168.1.4 3306
2.关闭zabbix
/usr/local/zabbix/sbin/zabbix_server stop
3. zabbix配置文件修改
/usr/local/zabbix/etc/zabbix_server.conf
DBName=zabbix
DBUser=zabbix
DBPassword=
DBPort=3306
ListenIP=192.168.1.4
4.关闭mysql
Service mysqld stop
5. 数据文件拷贝
Scp /data/mysql/* xxx.xxx.xxx.xxx:/Mysql数据文件目录 或者使用 Innobackupex迁移
6. 启动Mysql
配置文件修改:
innodb_flush_log_at_trx_commit=0 or 2 建议0
Sync_binlog=1000
Mysqld_safe --defaults-file=/usr/local/mysql/my3306.cnf &
7. Mysql数据表导出
mysqldump -uroot -p -P3306 -h127.0.0.1 --databases zabbix --tables history>history.sql
mysqldump -uroot -p -P3306 -h127.0.0.1 --databases zabbix --tables history_str>history_str.sql
mysqldump -uroot -p -P3306 -h127.0.0.1 --databases zabbix --tables history_text>history_text.sql
mysqldump -uroot -p -P3306 -h127.0.0.1 --databases zabbix --tables history_uint>history_uint.sql
8.Mysql创建分区表
History
History_str
History_uint
History_text 改成月分区表 CREATE TABLE history_uint(
itemid bigint(20) unsigned NOT NULL,
clock int(11) NOT NULL DEFAULT '',
value bigint(20) unsigned NOT NULL DEFAULT '',
Ns int(11) NOT NULL DEFAULT '',
KEY history_uint_1 (itemid,clock)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
PARTITION BY RANGE(clock)
(
PARTITION p201708 VALUES LESS THAN (1504195200)
ENGINE = INNODB,
PARTITION p201709 VALUES LESS THAN (1506787200)
ENGINE = INNODB,
PARTITION p201710 VALUES LESS THAN (1509465600)
ENGINE = INNODB);
DATA DIRECTORY 根据请况是否添加
分区可以创建到2020,暂时不添加maxvalue
定时任务添加分区 History
History_str
History_uint
History_text
分区操作同上
9.导入分区表
将history.sql,history_str.sql,history_text.sql,history_uint.sql drop table语句,以及create table 语句删除
然后执行语句,导入数据库
10.启动zabbix
/usr/local/zabbix/sbin/zabbix_server start
11.定时任务删除历史数据
每月3号删除上上月分区,zabbix最大为2月历史数据
10月3号,删除8月分区,增加11月分区 #!/bin/bash
#add by sk
User="zabbix"
Passwd="zabbix"
#zabbix保留1月数据
Date=`date -d "-2 months" +%Y%m`
#添加分区使用
Date_a=`date -d "2 months" +%Y%m`
Date_b=`date -d "1 months" +%Y%m`
Date_t=`date -d "2 months" +%Y-%m`-01
v_time=`date +%s -d $Date_t` $(which mysql) -u${User} -p${Passwd} -Dzabbix -e "
ALTER TABLE history DROP PARTITION p$Date;
ALTER TABLE history_str DROP PARTITION p$Date;
ALTER TABLE history_text DROP PARTITION p$Date;
ALTER TABLE history_uint DROP PARTITION p$Date;
#添加分区如下:
alter table history add partition (partition p$Date_b VALUES LESS THAN ($v_time) ENGINE = INNODB);
alter table history_str add partition (partition p$Date_b VALUES LESS THAN ($v_time) ENGINE = INNODB);
alter table history_text add partition (partition p$Date_b VALUES LESS THAN ($v_time) ENGINE = INNODB);
alter table history_uint add partition (partition p$Date_b VALUES LESS THAN ($v_time) ENGINE = INNODB);
" 脚本参考MYSQL操作语句:
ALTER TABLE history_uint DROP PARTITION p201709;
alter table history_uint add partition (partition p201712 VALUES LESS THAN (1514736000) ENGINE = INNODB);
12.改成分区表原因
历史表数据删除耗费时间
Delete from history_uint where clock<
如果添加optimize table时间就更长
History_uint delete+optimize 保守3小时
删除分区时间较快
zabbix mysql 迁移 增加分区的更多相关文章
- Zabbix历史数据库迁移 及分区
https://blog.csdn.net/hkyw000/article/details/78971201?utm_source=blogxgwz6
- zabbix使用mysql数据库 对表分区
zabbix删除历史数据 mysql 表自动分区.删除 ----2016年终总结 二 zabbix清理历史数据是个比较蛋疼的问题,尤其在监控数据较多时,一方面无法彻底释放历史数据空间,一方面数据库删除 ...
- MySQL每天自动增加分区
有一个表tb_3a_huandan_detail,每天有300W左右的数据.查询太慢了,网上了解了一下,可以做表分区.由于数据较大,所以决定做定时任务每天执行存过自动进行分区. 1.在进行自动增加分区 ...
- MySQL迁移[转]
http://dbarobin.com/2015/09/15/migration-of-mysql-on-different-scenes/ MySQL 迁移方案概览 MySQL 迁移无非是围绕着数据 ...
- MySQL的表分区详解
这篇文章主要介绍了MySQL的表分区,例如什么是表分区.为什么要对表进行分区.表分区的4种类型详解等,需要的朋友可以参考下 一.什么是表分区通俗地讲表分区是将一大表,根据条件分割成若干个小表.mysq ...
- MySQL的表分区(转载)
MySQL的表分区(转载) 一.什么是表分区 通俗地讲表分区是将一大表,根据条件分割成若干个小表.mysql5.1开始支持数据表分区了. 如:某用户表的记录超过了600万条,那么就可以根据入库日期将表 ...
- mysql管理---表分区
一.什么是表分区 通俗地讲表分区是将一大表,根据条件分割成若干个小表.mysql5.1开始支持数据表分区了. 如:某用户表的记录超过了600万条,那么就可以根据入库日期将表分区,也可以根据所在地将表分 ...
- 删除mysql数据库中表分区数据
删除mysql数据库中表分区数据 zabbix 几个大表创建了分区,由于磁盘空间告警,特将3月前的分区给予删除. 1.查看表的数据占用磁盘空间情况 2.登录mysql中,查看表的分区情况. 3.删除表 ...
- MySQL针对Swap分区的运维注意点
Linux有很多很好的内存.IO调度机制,但是并不会适用于所有场景.对于运维人员来说,Linux比较让人头疼的一个地方是:它不会因为MySQL很重要就避免将分配给MySQL的地址空间映射到swap上. ...
随机推荐
- 【Java密码学】XML签名
http://www.oracle.com/technetwork/articles/javase/dig-signature-api-140772.html XML签名的结构和类型 基本上XML签名 ...
- P1736 创意吃鱼法80
题目描述 回到家中的猫猫把三桶鱼全部转移到了她那长方形大池子中,然后开始思考:到底要以何种方法吃鱼呢(猫猫就是这么可爱,吃鱼也要想好吃法 ^_*).她发现,把大池子视为01矩阵(0表示对应位置无鱼,1 ...
- Java学习笔记--关于面向对象的思考
1.不可改变的类生成对象以及变量的范围 2. 关键词this的使用 3.用类抽象的思想制作软件 4.通过关系模型建立类 5.使用面向对象的范例来设计程序,遵循类设计指导. 已经学习了:怎么定义类已经创 ...
- java-类的定义和用法
1.类的定义 public class Human{ }//每个源文件必须也只能有一个public类 class boy{ }//可以定义多个class类 class girl{ } 上面的类定义好后 ...
- JavaScript随机生成颜色以及十六进制颜色 与RGB颜色值的相互转换
/** * 随机生成颜色 * @return 随机生成的十六进制颜色 */ function randomColor(){ var colorStr=Math.floor(Math.random()* ...
- 学习笔记:MDN的HTML
一. HTML介绍: HTML —— 用于定义一个网页的结构的基本技术. 元素(Element):开始标记,加结束标记,加内容,等于元素. 两种重要的元素类别,块级元素和内联元素: 块级 ...
- NGSL + NAWL 单词表 以及学习网站
https://quizlet.com/44769538/nawl-1-1-50-flash-cards/ NAWL 网站 NAWL 单词表 + NGSL 单词表 http://www.newgen ...
- valueOf() 和 toString()
valueOf():如果存在任意原始值,返回最适合该对象类型的原始值. toString():将该对象的原始值以字符串形式返回. 这两个方法一般是交由JS去隐式调用,以满足不同的运算情况. 举个栗子 ...
- The eighth day
time n(名词):时间:次,时代,时刻: vt(及物动词):为...安排时间:测定...的时间:调准(机械的速度): vi(不及物动词):合拍,和谐,打拍子 files (原型是fly) vi(不 ...
- iQuery stop()
jQuery stop() 方法 jQuery stop() 方法用于停止动画或效果,在它们完成之前. stop() 方法适用于所有 jQuery 效果函数,包括滑动.淡入淡出和自定义动画. 语法 $ ...