mysql知识盘点【叁】_主从复制

系列文章:

mysql知识盘点【壹】_SQL优化

mysql知识盘点【贰】_InnoDB引擎索引


本文内容部分整理自《高性能mysql》,链接如下:





两种复制方式


mysql支持两种复制方式:基于语句的复制和基于的复制。

基于语句的复制(逻辑复制)在mysql 3.23版本就已存在,基于行的版本在5.1版本引入。

两种方式都是通过在主库记录二进制日志,在备库重放日志的方式来实现异步的数据复制。
但是区别在于,基于语句复制时,日志中记录的是sql语句;基于行复制时,日志中记录的是变化了的数据。


复制的流程图如下:




复制三个步骤:


1.主库把数据更改记录到二进制日志(binarylog)中;

2.备库将主库上的日志复制到自己的中继日志(relay log)中;

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

而在复制的过程中,会有一定的延迟,原因在于主库更新数据是多线程操作,而从库更新数据是单线程。从库使用单线程更新是要考虑语句顺序问题。


语句复制和行复制相对比,各自特点如下:


基于语句复制:主库记录造成数据修改的语句,在从库上再执行一遍。好处实现简单,缺点必须串行实现。

基于行复制:将实际数据(变化了的数据)放在二进制日志中,好处是可以正确地复制每一行,缺点是当进行全表操作时复制代价大,时间点恢复也实现复杂。


配置主从


1.配置主库my.cnf文件


log_bin = mysql-bin
server_id = 10


2.配置授权账号及查看主库状态


grant replication slave on *.* to slave@192.168.1.11 identified by '123456' ;
show master status;



3.配置从库my.cnf


log_bin = mysql-bin
server_id = 12
relay_log = /var/lib/mysql/mysql-relay-bin
log_slave_updates = 1
read_only = 1


4.从库连接主库


change master to master_host='server1',
master_user = 'slave';
master_password = '123456',
master_log_file = 'mysql_bin.000001',
master_log_pos = 0;


5.查看复制状态


show slave status/G


正常状态为

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

6.开始复制


start slave;


主从不同步解决思路


1.先查看主库

show processlist;  --  查看下进程是否Sleep太多。发现很正常。

show master status;  -- 也正常。


+-------------------+----------+--------------+-------------------------------+
| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB              |
+-------------------+----------+--------------+-------------------------------+
| mysqld-bin.000001 |     3260 |              | mysql,test,information_schema |
+-------------------+----------+--------------+-------------------------------+
1 row in set (0.00 sec)


2.查看从库


show slave status\G 

                                             

Slave_IO_Running: Yes
Slave_SQL_Running: No -- 说明有错误


3.跳过错误


stop slave;

#表示跳过一步错误,后面的数字可变

set global sql_slave_skip_counter =1;

start slave;

show slave status\G;


Slave_IO_Running: Yes

Slave_SQL_Running: Yes



阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xinzun/article/details/79969948
个人分类: 数据库
上一篇mysql知识盘点【贰】_InnoDB引擎索引
下一篇mysql知识盘点【肆】_调优参数
想对作者说点什么? 我来说一句

MySQL实践备份恢复与主从复制

2017年04月11日 1.43MB 下载

没有更多推荐了,返回首页

关闭
关闭