mysql复制

Mysql复制基础

主从端

Msql复制基于BinLog日志

三种日志格式

  1. statement Binlog中存储SQL语句,主从延时大
  2. row 存储event数据,主从延时小
  3. mixed 介于row和statement之间。

Mysql复制可以是对整个实例进行复制,也可以对实例中的某个表进行复制。

Master端

–binlog-do-db

–binlog-ignore-db

slave端

–replicate-do-db

–replicate-ignore-db

存在的两种复制类型

基于二进制日志的复制

基于GTID(全局事务标识符)完成基于事务的复制

Mysql支持半同步机制

如何实现基于日志点的复制

  1. 在Master端建立复制用户
  2. 备份Master端的数据,并在Slave端恢复yo
  3. 使用Change master命令配置复制

具体配置

1.用户的授权

select user,host from mysql.user;

查看所有用户

create user 'user'@'host' identified by 'password';

2.数据备份导出

mysqldump --single-transaction --master-data=2 --triggers --routines --all-databases -uroot -p> all.sql;

然后将sql文件拷贝到slave端。

slave端:
mysql -uroot -p < all.sql
导出数据

3.slave端设置
change master to master_host = ‘host’,
master_user=’user’,
master_password=’password’,
master_log_file=’mysql_bin.000001’,
master_log_pos=100;

注意master_log_file,master_log_pos=100在all.sql中可以找到
,填写对应的。

start slave;

启动slave

show slave;

查看slave状态,Slave_IO_Running与Slave_SQL_Running状态都为YES,即完成了master端与slave端的复制,master端的操作同样也会影响到slave端。

若状态部位YES 需要关闭主从端的防火墙。
/etc/init.d/iptables stop

然后再主从my.cnf配置文件的[mysqld]下面加上server_id.这样即完成了配置

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值