设为首页 收藏本站
查看: 606|回复: 0

[经验分享] mysql主从复制

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-5-19 08:53:05 | 显示全部楼层 |阅读模式
主从复制有利于 数据库架构的健壮性  提升访问速度   易于维护管理
主从互为备份M  ----  S        一主多从  异步同步
spacer.jpg
wKiom1c8K-Cij7jyAABUrjWR9Ok242.jpg
该过程的第一部分就是master记录二进制日志。在每个事务更新数据完成之前,master在二日志记录这些改变。MySQL将事务串行的写入二进制日志,即使事务中的语句都是交叉执行的。在事件写入二进制日志完成后,master通知存储引擎提交事务。
下一步就是slave将master的binary log拷贝到它自己的中继日志。首先,slave开始一个工作线程——I/O线程。I/O线程在master上打开一个普通的连接,然后开始binlog dump process。Binlog dump process从master的二进制日志中读取事件,如果已经跟上master,它会睡眠并等待master产生新的事件。I/O线程将这些事件写入中继日志。
SQL slave thread(SQL从线程)处理该过程的最后一步。SQL线程从中继日志读取事件,并重放其中的事件而更新slave的数据,使其与master中的数据一致。只要该线程与I/O线程保持一致,中继日志通常会位于OS的缓存中,所以中继日志的开销很小。
此外,在master中也有一个工作线程:和其它MySQL的连接一样,slave在master中打开一个连接也会使得master开始一个线程。复制过程有一个很重要的限制——复制在slave上是串行化的,也就是说master上的并行更新操作不能在slave上并行操作。

mysql -uroot -p123456  -S /data/3306/mysql.sock
mysql> show variables like 'log_bin%';
+---------------------------------+-------+
| Variable_name                   | Value |
+---------------------------------+-------+
| log_bin                         | ON    |
server-id = 不一样
mysql> grant replication  slave  on *.*  to 'rep'@'192.168.10.%'  identified  by '123456';
mysql> flush privileges;
mysql> flush  table with read lock;   //读锁
mysql> show master status/logs;
+------------------+-----------+
| Log_name         | File_size |
+------------------+-----------+
| mysql-bin.000005 |       338 |
+------------------+-----------+
mysqldump  -uroot -p123456  -S /data/3306/mysql.sock  -A -B  --events  --master-data=2   > /opt/rep.sql
mysql> unlock  tables;  //解锁
# mysql -uroot -p123456  -S /data/3307/mysql.sock  < /opt/rep.sql

mysql -uroot -p123456  -S /data/3307/mysql.sock
CHANGE MASTER TO
MASTER_HOST='192.168.10.10',
MASTER_PORT=3306,
MASTER_USER='rep',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000005',
MASTER_LOG_POS=417;
/data/3307/data/master.info               //生成的文件
mysql> start slave;
mysql> show slave status\G;
      Slave_IO_Running: Yes
      Slave_SQL_Running: Yes
relay-bin.index
/data/3307/relay-bin.000001
/data/3307/relay-bin.000002
relay-log.info                    /中继日志
427
mysql-bin.000005
591
spacer.jpg QQ截图20160519085253.png

--master-data=1


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-218914-1-1.html 上篇帖子: 修改mysql中root出错导致mysql数据库消失解决方法 下篇帖子: 新安装mysql 登录报错 mysql
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表