zabbix做主从复制
1、在zabbix主库导出除历史数据表之外表
mysqldump -uroot -p --single-transaction -R --default-character-set=utf8 --triggers --events --hex-blob --databases zabbix --ignore-table=zabbix.history --ignore-table=zabbix.history_uint --ignore-table=zabbix.history_log --ignore-table=zabbix.history_str --ignore-table=zabbix.history_text --ignore-table=zabbix.trends --ignore-table=zabbix.trends_uint --master-data=2 > zabbix_`date "+%Y%m%d"`.sql
2、在zabbix主库导出历史大表的表结构
mysqldump -uroot -p -d zabbix history history_uint trends_uint trends history_str history_text history_log > tables_`date "+%Y%m%d"`.sql
3、从库导入数据
scp zabbix_xxx.sql tables_xxxx.sql xx.xxx.xx.xx(zabbix从库)
在zabbix从库应用备份数据
mysql -uroot -p < zabbix_xxx.sql
mysql -uroot -p < tables_xxxx.sql #需要在脚本中添加use zabbix;语句
4、zabbix从库做主从关系
mysql> show master status;
mysql> reset master;
mysql> SET @@GLOBAL.GTID_PURGED='xxxx:1-xxxx';
mysql> CHANGE MASTER TO MASTER_HOST='xxxx', MASTER_USER='xxxxx', MASTER_PASSWORD='xxxxx', MASTER_PORT=3306,MASTER_AUTO_POSITION = 1;
mysql> start slave;
备注:主从库数据不一致,也可以做主从同步的前提,zabbix主库的操作大部分都是insert操作,不涉及到对历史数据的操作
mysqldump命令的补充说明
1、导出整个数据库结构和数据,直接跟库名
mysqldump -uroot -p database > dump.sql
2、导出单个数据表结构和数据,直接跟库名和表名
mysqldump -uroot -p database table1 table2 > dump.sql
3、导出整个数据库结构(不包含数据),直接跟库名
mysqldump -uroot -p -d database > dump.sql
4、导出单个数据表结构(不包含数据),直接跟库名和表名
mysqldump -uroot -p -d database table1 table2 > dump.sql