前提条件是主从同步操作完成(主从同步的前提是两个数据库表结构必须一样)
先看一下mysql配置文件
vi /usr/local/mysql/my.cnf
配置内容:------------------------------------------------------------------------------------
[client]
port=3306
socket=/tmp/mysql.sock
default-character-set=utf8
[mysql]
no-auto-rehash
#default-storage-engine=INNODB
default-character-set=utf8
[mysqld]
user    = mysql
port    = 3306
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
socket  = /tmp/mysql.sock
pid-file = /usr/local/mysql/data/mysql3306.pid
log-error= /usr/local/mysql/logs/error.log
skip_name_resolve = 1
open_files_limit    = 65535
back_log = 1024
max_connections = 1500
max_connect_errors = 1000000
table_open_cache = 1024
table_definition_cache = 1024
table_open_cache_instances = 64
thread_stack = 512K
external-locking = FALSE
max_allowed_packet = 32M
sort_buffer_size = 16M
join_buffer_size = 16M
thread_cache_size = 2250
query_cache_size = 0
query_cache_type = 0
interactive_timeout = 600
wait_timeout = 600
tmp_table_size = 96M
max_heap_table_size = 96M
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
event_scheduler=ON
###***slowqueryparameters
long_query_time = 0.1
slow_query_log = 1
slow_query_log_file = /usr/local/mysql/logs/slow.log
###***binlogparameters
log-bin=mysql-bin
binlog_cache_size=4M
max_binlog_cache_size=8M
max_binlog_size=1024M
binlog_format=MIXED
expire_logs_days=7
###***master-slavereplicationparameters
server-id=1
binlog-do-db=zabbix        #只同步zabbix数据库
innodb_buffer_pool_size = 128M
innodb_flush_method = O_DIRECT
innodb_file_per_table = 1
#slave-skip-errors=all
[mysqldump]
quick
max_allowed_packet=32M
配置文件下载:https://pan.baidu.com/s/1Qd5oWsAQYESzn3pne8yBkg  密码:wanb

首先删除表
use zabbix
drop table history;
drop table history_text;
drop table history_log;
drop table history_str;
drop table history_uint;
drop table trends;
drop table trends_uint;
新建数据表
范例:(1471910400)==(UNIX_TIMESTAMP("2017-04-01 00:00:00"))
注意:时间设置为自修改日期到月底。
执行以下操作新建表:
CREATE TABLE `history` (
`itemid` bigint(20) unsigned NOT NULL,
`clock` int(11) NOT NULL DEFAULT '0',
`value` double(16,4) NOT NULL DEFAULT '0.0000',
`ns` int(11) NOT NULL DEFAULT '0',
KEY `history_1` (`itemid`,`clock`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

ROW_FORMAT=COMPACT

PARTITION BY RANGE (`clock`)
(PARTITION p20171101 VALUES LESS THAN (UNIX_TIMESTAMP("2017-11-1 23:59:00")) ENGINE = InnoDB,
PARTITION p20171102 VALUES LESS THAN (UNIX_TIMESTAMP("2017-11-2 23:59:00")) ENGINE = InnoDB,
PARTITION p20171103 VALUES LESS THAN (UNIX_TIMESTAMP("2017-11-3 23:59:00")) ENGINE = InnoDB,
PARTITION p20171104 VALUES LESS THAN (UNIX_TIMESTAMP("2017-11-4 23:59:00")) ENGINE = InnoDB,
PARTITION p20171105 VALUES LESS THAN (UNIX_TIMESTAMP("2017-11-5 23:59:00")) ENGINE = InnoDB,
PARTITION p20171106 VALUES LESS THAN (UNIX_TIMESTAMP("2017-11-6 23:59:00")) ENGINE = InnoDB,
PARTITION p20171107 VALUES LESS THAN (UNIX_TIMESTAMP("2017-11-7 23:59:00")) ENGINE = InnoDB,
PARTITION p20171108 VALUES LESS THAN (UNIX_TIMESTAMP("2017-11-8 23:59:00")) ENGINE = InnoDB,
PARTITION p20171109 VALUES LESS THAN (UNIX_TIMESTAMP("2017-11-9 23:59:00")) ENGINE = InnoDB,
PARTITION p20171110 VALUES LESS THAN (UNIX_TIMESTAMP("2017-11-10 23:59:00")) ENGINE = InnoDB,
PARTITION p20171111 VALUES LESS THAN (UNIX_TIMESTAMP("2017-11-11 23:59:00")) ENGINE = InnoDB,
PARTITION p20171112 VALUES LESS THAN (UNIX_TIMESTAMP("2017-11-12 23:59:00")) ENGINE = InnoDB,
PARTITION p20171113 VALUES LESS THAN (UNIX_TIMESTAMP("2017-11-13 23:59:00")) ENGINE = InnoDB,
PARTITION p20171114 VALUES LESS THAN (UNIX_TIMESTAMP("2017-11-14 23:59:00")) ENGINE = InnoDB,
PARTITION p20171115 VALUES LESS THAN (UNIX_TIMESTAMP("2017-11-15 23:59:00")) ENGINE = InnoDB,
PARTITION p20171116 VALUES LESS THAN (UNIX_TIMESTAMP("2017-11-16 23:59:00")) ENGINE = InnoDB,
PARTITION p20171117 VALUES LESS THAN (UNIX_TIMESTAMP("2017-11-17 23:59:00")) ENGINE = InnoDB,
PARTITION p20171118 VALUES LESS THAN (UNIX_TIMESTAMP("2017-11-18 23:59:00")) ENGINE = InnoDB,
PARTITION p20171119 VALUES LESS THAN (UNIX_TIMESTAMP("2017-11-19 23:59:00")) ENGINE = InnoDB,
PARTITION p20171120 VALUES LESS THAN (UNIX_TIMESTAMP("2017-11-20 23:59:00")) ENGINE = InnoDB,
PARTITION p20171121 VALUES LESS THAN (UNIX_TIMESTAMP("2017-11-21 23:59:00")) ENGINE = InnoDB,
PARTITION p20171122 VALUES LESS THAN (UNIX_TIMESTAMP("2017-11-22 23:59:00")) ENGINE = InnoDB,
PARTITION p20171123 VALUES LESS THAN (UNIX_TIMESTAMP("2017-11-23 23:59:00")) ENGINE = InnoDB,
PARTITION p20171124 VALUES LESS THAN (UNIX_TIMESTAMP("2017-11-24 23:59:00")) ENGINE = InnoDB,
PARTITION p20171125 VALUES LESS THAN (UNIX_TIMESTAMP("2017-11-25 23:59:00")) ENGINE = InnoDB,
PARTITION p20171126 VALUES LESS THAN (UNIX_TIMESTAMP("2017-11-26 23:59:00")) ENGINE = InnoDB,
PARTITION p20171127 VALUES LESS THAN (UNIX_TIMESTAMP("2017-11-27 23:59:00")) ENGINE = InnoDB,
PARTITION p20171128 VALUES LESS THAN (UNIX_TIMESTAMP("2017-11-28 23:59:00")) ENGINE = InnoDB,
PARTITION p20171129 VALUES LESS THAN (UNIX_TIMESTAMP("2017-11-29 23:59:00")) ENGINE = InnoDB,
PARTITION p20171130 VALUES LESS THAN (UNIX_TIMESTAMP("2017-11-30 23:59:00")) ENGINE = InnoDB
);
。。。。。。 
sql文件根据实际情况修改
链接:https://pan.baidu.com/s/1vUPTQOIAWTHRN1Y1LWnkbQ  密码:cgxx
依次创建新的表结构
修改自动分区脚本中用户名和密码,拷贝自动分区脚本到指定目录下
主从都需要添加
chmod 755 autopartitions.sh
chown mysql.mysql autopartitions.sh
3.设置后台计划任务自动分区
执行crontab -e
01 01 * * * /data/mysqldb/autopartitions.sh
脚本下载
链接:https://pan.baidu.com/s/18N8rkh2vDhltq9DVjq9EhQ  密码:7o0l
是否成功可以参考mysql配置文件中对应库文件下是否有基于日期的文件
主库
从库

转载于:https://www.cnblogs.com/52py/p/9604381.html

zabbix数据库分表的实现相关推荐

  1. 数据库分表时OR Mapping方法

    最近使用ADO.net Entity应用中遇到一个分表的应用,IDE中是不可视化支持这个的,为此使用了基于LINQ的方法解决了该问题. 数据库分表的意义和目的 分表技术顾名思义,就是把若干个存储相同类 ...

  2. 超大数据量存储常用数据库分表分库算法总结

    这篇文章主要介绍了超大数据量存储常用数据库分表分库算法总结,本文讲解了按自然时间来分表/分库.按数字类型hash分表/分库.按md5值来分表/分库三种方法,以及分表所带来的问题探讨,需要的朋友可以参考 ...

  3. mysql一张表1亿天数据_1亿条数据在PHP中实现Mysql数据库分表100张

    转: 1亿条数据在PHP中实现Mysql数据库分表100张 http://php-z.com/thread-2115-1-1.html (出处: PHP-Z) 当数据量猛增的时候,大家都会选择库表散列 ...

  4. 线上zabbix数据库重建表分区

    线上zabbix数据库重建表分区 发表于:2015-03-5 0 条评论 当前线上zabbix数据按月分区单个分区文件过大,现重新按天分区. 注意事项: 1,"truncate table ...

  5. 数据库分表之雪花算法

    文章目录 一.背景 二.数据库分表 1. 垂直分表 2. 水平分表 一.背景 需要选择合适的方案去应对数据规模的增长,以应对逐渐增长的访问压力和数据量. 数据库的扩展方式主要包括:业务分库.主从复制, ...

  6. 数据库基础知识(二)数据库分表技术

    数据库分表技术: 1. 分表技术 a). 水平分割(分表) 将一个大表按照一定的规则分解成多张具有独立存储空间的实体表,我们可以称为子表,每个表都对应三个文件,MYD数据文件,MYI索引文件,frm表 ...

  7. php mysql新闻表模板_新闻数据库分表案例

    新闻数据库分表案例目录:[-]NetkillerMySQL手札MySQLMariaDB...Mr.NeoChan,陈景峰(BG7NYT)4.16.3.新闻数据库分表案例NetkillerMySQL手札 ...

  8. mysql新闻分表,新闻数据库分表案例 - http://www.netkiller.cn - OSCHINA - 中文开源技术交流社区...

    本文节选自<Netkiller Architect 手札> 6.3. 新闻数据库分表案例 这里我通过一个新闻网站为例,解决分表的问题 避免开发中经常拼接表,我采用一个一劳永逸的方法,建立一 ...

  9. zabbix之数据库分表操作

    已验证,生产环境测试OK 1 在有些场景下可以明显增加查询性能,特别是对于那些重度使用的表如果是一个单独的分区或者好几个分区就可以明显增加查询性能,因为比起加载整张表的数据到内存,一个分区的数据和索引 ...

最新文章

  1. 网易java二面_网易Java开发面试:一面+二面+三面以及 面试经验总结
  2. 《超越想象——Windows_8应用设计与开发》
  3. 看《你必须知道的.NET》有感--工厂模式的另类解读
  4. java如何调windows框_java – JDialog.setAlwaysOnTop(true)将所有对话框带到Windows下的前面...
  5. 1112 Stucked Keyboard (20 分)【难度: 一般 / 知识点: 模拟】
  6. linux c 读写mbr_一文看懂Linux开机流程BIOS-MBR-GRUB-Kernel-Init-Runlevel
  7. Kotlin 文档 .Google 正式确定将 Kotlin为android 开发语言
  8. CRT、ATL、MFC 三者介绍和关系
  9. NOIP2016普及组T2(回文日期)题解
  10. CMOS与TTL(下)
  11. accept搭配用法_accept的用法与搭配是什么
  12. simulink 全桥逆变无控整流DC-DC电路
  13. Q3手机银行运营报告:直销银行江湖再起波澜,数字员工助力手机银行活跃度提升
  14. 喜马拉雅数据接口 JSSDK API 接入 demo WEB版 标准登录 、免登陆
  15. Redmi首款超高性价比笔记本明日开售 售价3999元起
  16. MySQL-V5.7 压缩包版安装教程
  17. 查分吧(chafenba)通用成绩查询系统免费下载
  18. related job
  19. Javascript 实现城市选择控件
  20. 成功解决:image “pyimage2“ doesn‘t exist【轩详细教程】

热门文章

  1. 深入理解继承知识(下)
  2. 看看webpack打包优化
  3. authentication method mysql 8.0查询_mysql 索引整理
  4. GitHub改为token验证后,如何提交代码?
  5. oracle视图用法,oracle视图大全
  6. androidstudio自带git用法_Android Studio的git功能的使用介绍
  7. 学python前要学c吗_目前python熟练 ,想再学golang 需要先学c吗?
  8. Android中英文单词录入背诵软件
  9. html2canvas截图地图和看到的不一样_大秦赋,我看到的不一样的赢异人。
  10. 20190816:(leetcode习题)有效的数独