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

29 篇文章 0 订阅
7 篇文章 0 订阅

主数据库配置

[mysqld]
server-id       = 1
log_bin         = /var/log/mysql/mysql-bin.log
expire_logs_days    = 10
max_binlog_size         = 100M

从数据库配置

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

启动SLAVE

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

# 从数据库添加主从
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 SLAVE;

# 停止主从
STOP STLAVE;

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

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

主从数据库创建用户

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

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

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

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

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

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

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

重启从库做主从

# 跳过一个错误
pt-slave-restart --user=repl --password=slavepass --host=127.0.0.1 --skip-count=1

# 跳过某些类型错误
pt-slave-restart --user=repl --password=slavepass --host=127.0.0.1 --error-numbers=1062

pt-table-sync保存数据一致

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

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

 删除从库

mysql> STOP SLAVE;
mysql> STOP SLAVE IO_THREAD;
mysql> STOP SLAVE SQL_THREAD;
mysql> RESET SLAVE ALL;
cd /var/lib/mysql
service mysql stop
rm -f master.info relay-*`
service mysql start

参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值