mysql数据挖掘_MySQL的复制

MySQL复制

复制比较常见的用途是:数据分享、负载均衡、备份、高可用和故障切换以及MySQL升级测试等。

MySQL支持两种复制方式,基于行的复制和基于语句的复制。

1、基于语句的复制发生问题容易定位,但是使用触发器或者存储过程时容易出现错误;

2、基于行的复制几乎没有该复制模式无法处理的场景,但是出现问题时人难认为的查找问题点。

这两种方式都是通过在主库上记录二进制日志,在备库重放日志的方式来实现异步的数据复制。

MySQL能够在两种模式之间动态切换,默认情况是基于语句的复制,无法正确复制时就切换成基于行复制。

复制有三个步骤:

1、在主库上把数据更改记录记录到二进制日志(Binary Log)中;

2、备库将主库上的二进制日志复制到自己的中继日志(Relay Log)中;

3、备库读取中继日志中的事件,将其重放到备库数据之上。

配置复制

1、在每台服务器上创建复制账号;

主库:grant replication savle,replication client on *.* to rep1@'192.168.0.%' identified by 'password';

监控和管理复制账号需要用到replication client权限,用一个账号更方便。

2、配置主库和备库(配置完成均需重启)

主库my.cnf文件

log_bin = 绝对路径/mysql-bin

server_id = 10 #(唯一的服务器ID)

推荐的复制配置

sync_binlog = 1 #MySQL每次提交事务前会将二进制日志同步到磁盘,服务器崩溃时不丢失事件。

如果主库使用innodb,强烈建议设置:均为MySQL5.0及新版本默认设置

innodb_flush_logs_at_trx_commit #刷新日志写入

innodb_support_xa = 1 #

innodb_safe_binlog

可以使用 show master status; 查询主库上的二进制文件是否创建

备库my.cnf文件

log_bin = mysql_bin#二进制文件命名

server_id = 2#备库服务器ID

relay_log = 绝对路径/mysql-relay-bin #指定中继日志的位置和命名

log_slave_updates = 1#允许备库将重放的事件,也记录到自己的二进制日志中,方便备库成为其他服务器的主库

read_only = 1#设置只读形式,禁止没有超级管理员权限的线程修改数据

skip_slave_start#阻止备库在崩溃后自动启动复制

sync_master_info = 1

sync_relay_log = 1

sync_relay_log_info = 1#将主库连接设置和中继日志同步到磁盘

relay_log_purge# 延迟大时,重放完成后会删除执行过的中继日志

relay_log_space_limit# 延迟非常严重时,中继日志大小超过此值,线程停止,等待释放空间

expire_logs_days# 日志清理策略

3、启动复制

登录备库复制账号

执行以下命令:change master to master_host='server1', #假设主库是服务器server1

master_user='rep1',

master_password='password',

master_log_file='mysql-bin.000001',

master_log_pos=0; #要从日志的开头读起

可以使用 show slave status;查询复制是否正确执行

start slave; #开始复制

show prosslist 查看线程列表

--实验MySQL复制,Giuseppe Maxia的沙箱脚本(http://mysqlsandbox.net)

--能够帮助你从一个之前下载的安装包中一次性安装。通过如下命令:

-- $ ./set_replication.pl /path/to/mysql-tarball.tar.gz

克隆备库的方法

1、冷备份--缺点是需要关闭主库

2、热备份--如果仅使用MyISAM表,可在主库运行时使用mysqlhotcopy或rsync来复制数据

3、使用mysqldump --如果只包含InnoDB表,

4、使用快照或备份

5、使用Percona Xtrbackup

6、使用另外的备库

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值