ubuntu14.04 Mysql5.6主从,使用percona保证数据一致

前端之家收集整理的这篇文章主要介绍了ubuntu14.04 Mysql5.6主从,使用percona保证数据一致前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

数据库配置

[MysqLd]
server-id       = 1@H_404_4@
log_bin         = /var/log/MysqL/MysqL-bin.log
expire_logs_days    = 10@H_404_4@
max_binlog_size         = 100@H_404_4@M

数据库配置

[MysqLd]
server-id       = 2@H_404_4@
log_bin         = /var/log/MysqL/MysqL-bin.log
expire_logs_days    = 10@H_404_4@
max_binlog_size         = 100@H_404_4@M
replicate-do-db=jitui_ad
replicate-do-db=percona
slave-skip-errors = 1062@H_404_4@

启动SLAVE

# 查看主服务器当前二进制日志名和偏移量,这个操作的目的是为了在从数据库启动后,从这个点开始进行数据的恢复
SHOW@H_404_4@ MASTER STATUS;@H_404_4@

# 从数据库添加主从
CHANGE MASTER TO MASTER_HOST='192.168.3.91',MASTER_USER='repl',MASTER_PASSWORD='slavepass',MASTER_LOG_FILE='MysqL-bin.000008',MASTER_LOG_POS=8043;

# 启动主从
START@H_404_4@ SLAVE;@H_404_4@

# 停止主从
STOP STLAVE;

# 查看主从状态
SHOW@H_404_4@ SLAVE STATUS\G;@H_404_4@

# 查看slave的状态,如果下面两项值为YES,则表示配置正确:
Slave_IO_Running: Yes
Slave_sql_Running: Yes

主从数据库创建用户

INSERT@H_404_4@ INTO@H_404_4@ MysqL.user@H_404_4@(Host,User@H_404_4@,Password) VALUES@H_404_4@("localhost"@H_404_4@,"repl"@H_404_4@,password("slavepass"@H_404_4@));@H_404_4@
GRANT@H_404_4@ SELECT@H_404_4@,PROCESS,SUPER,REPLICATION SLAVE ON@H_404_4@ *.* TO@H_404_4@ 'repl'@H_404_4@@localhost IDENTIFIED BY@H_404_4@ 'slavepass'@H_404_4@;@H_404_4@
GRANT@H_404_4@ SELECT@H_404_4@,REPLICATION SLAVE ON@H_404_4@ *.* TO@H_404_4@ 'repl'@H_404_4@@'%'@H_404_4@ IDENTIFIED BY@H_404_4@ 'slavepass'@H_404_4@;@H_404_4@
FLUSH PRIVILEGES;

主从数据库添加数据库给保存检查数据

CREATE@H_404_4@ DATABASE@H_404_4@ percona CHARACTER@H_404_4@ SET@H_404_4@ utf8;@H_404_4@
GRANT@H_404_4@ ALL@H_404_4@ ON@H_404_4@ percona.* TO@H_404_4@ 'repl'@H_404_4@@localhost IDENTIFIED BY@H_404_4@ 'slavepass'@H_404_4@;@H_404_4@
GRANT@H_404_4@ ALL@H_404_4@ ON@H_404_4@ percona.* TO@H_404_4@ 'repl'@H_404_4@@'%'@H_404_4@ IDENTIFIED BY@H_404_4@ 'slavepass'@H_404_4@;@H_404_4@
FLUSH PRIVILEGES;

repl添加主从数据库添加数据库权限

GRANT@H_404_4@ ALL@H_404_4@ PRIVILEGES@H_404_4@ ON@H_404_4@ jitui_ad.* TO@H_404_4@ repl@localhost IDENTIFIED BY@H_404_4@ 'slavepass'@H_404_4@;@H_404_4@
GRANT@H_404_4@ ALL@H_404_4@ PRIVILEGES@H_404_4@ ON@H_404_4@ jitui_ad.* TO@H_404_4@ repl@'%'@H_404_4@ IDENTIFIED BY@H_404_4@ 'slavepass'@H_404_4@;@H_404_4@
FLUSH PRIVILEGES;

pt-table-checksum检查表是否一致

pt-table-checksum --nocheck-replication-filters --databases=jitui_ad --replicate=percona.checksums --create-replicate-table  --host=127.0@H_404_4@.0.1@H_404_4@ --port 3306@H_404_4@ -urepl -pslavepass

重启从库做主从

# 跳过一个错误@H_404_4@
pt-slave-restart --user=repl --password=slavepass --host=127.0@H_404_4@.0.1@H_404_4@ --skip-count=1@H_404_4@

# 跳过某些类型错误@H_404_4@
pt-slave-restart --user=repl --password=slavepass --host=127.0@H_404_4@.0.1@H_404_4@ --error-numbers=1062@H_404_4@

pt-table-sync保存数据一致

# 将主的jitui_ad数据库同步到 192.168.3.92,使从上具有一样的@H_404_4@
数据,使用--print将结果输出
pt-table-sync --print --sync-to-master --user=repl --password=slavepass h=192.168@H_404_4@.3.92@H_404_4@ --database jitui_ad

# 根据 pt-table-checksum 使从的数据和主的数据一致@H_404_4@
pt-table-sync --execute --replicate percona.checksums --user=repl --password=slavepass --sync-to-master h=192.168@H_404_4@.3.92@H_404_4@

 删除从库

MysqL> STOP SLAVE;
MysqL> STOP SLAVE IO_THREAD;
MysqL> STOP SLAVE sql_THREAD;
MysqL> RESET SLAVE ALL;
cd@H_404_4@ /var/lib/MysqL
service MysqL stop
rm -f@H_404_4@ master.info relay-*`
service MysqL start

参考

猜你在找的Ubuntu相关文章