mysql复制工作方式

mysql复制工作方式

  • 主服务器将变更写入二进制日志
  • 从服务器读取主服务器的二进制日志变更写入到relay_log中
  • 在从服务器上重放relay_log中的日志
  • 基于SQL段(statement)的日志是在从服务器上重新执行记录的SQL
  • 基于行的日志(row)则是在从库上直接应用对数据库行的修改

基于日志点的复制

基于日志点的复制步骤:

  1. 在主DB服务器上建立复制账号
CREATE USER 'repl'@'ip段' IDENTIFIED by 'youpassword';

GRANT replication SLAVE ON *.* TO 'repl'@'ip段';

2 . 配置主数据库服务器

log_bin = mysql_bin 
max_binlog_size = 1000M
binlog_formart = row
expire_logs_day = 7
sync_binlog = 1
server_id = 100 #动态参数,集群中唯一

3 . 配置从数据库服务器

log_bin = mysql_bin
relay_log = mysqld-relay-bin
server_id = 101
relay_id = mysql-relay-bin
log_slave_update = on #可选
read_only = on #可选

4.初始化从服务器数据

mysqldump --master-data=2 -single-transaction #innodb

xtrabackup --slave-info #推荐的热备份工具

5 . 启动复制链路

CHANGE MASTER TO MASTER_HOST = 'master_host_ip',
                 MASTER_USER = 'repl',
                 MASTER_PASSWORD = 'youpassword',
                 MASTER_LOG_FILE = 'mysql_log_file_name',
                 MASTER_LOG_POS = 4;    

start slave

优点:

  • 是Mysql最早支持的复制技术,bug相对较少
  • 对SQL查询没有任何限制
  • 故障处理比较容易

缺点:

  • 故障转移时重新获取新主的日志点信息比较困难
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值