数据库
首页 > 数据库> > MYSQL 之主从同步管理

MYSQL 之主从同步管理

作者:互联网

在数据量比较大的情况下,单个服务器可能没有办法满足业务需求,今天我们来说一下mysql 主从同步架构。先来说说她的作用。 (1) 数据分布 (2) 负载平衡(load balancing) (3) 备份 (4) 高可用性(high availability)和容错 原理图 mysql 大致描述一下过程:从服务器的IO线程从主服务器获取二进制日志,并在本地保存为中继日志,然后通过SQL线程来在从上执行中继日志中的内容,从而使从库和主库保持一致。主从同步的详细过程如下:
  1. 主服务器验证连接。
  2. 主服务器为从服务器开启一个线程。
  3. 从服务器将主服务器日志的偏移位告诉主服务器。
  4. 主服务器检查该值是否小于当前二进制日志偏移位。
  5. 如果小于,则通知从服务器来取数据。
  6. 从服务器持续从主服务器取数据,直至取完,这时,从服务器线程进入睡眠,主服务器线程同时进入睡眠。
  7. 当主服务器有更新时,主服务器线程被激活,并将二进制日志推送给从服务器,并通知从服务器线程进入工作状态。
  8. 从服务器SQL线程执行二进制日志,随后进入睡眠状态。
MYSQL主从同步的搭建实战 主从同步的搭建是一项比较细的技术活,前期做好了一些事情会让你在以后的工作中减少很多工作,搭建的时候需要注意一些问题,一会搭建的时候会一边搭建一边介绍需要注意的问题,让初学者能在刚开始的时候就有效的规避掉一些潜在的问题(MYSQL安装这里不做介绍):
  1. 主从同步环境介绍
操作系统环境:Centos 5.5 64 bit MYSQL版本:MYSQL 5.1.50 主服务器的IP:10.1.1.75 从服务器的IP:10.1.1.76
  1. 在主服务器上建立同步帐号
GRANT REPLICATION SLAVE,FILE ON *.* TO 'replication'@'10.1.1.%' IDENTIFIED BY '123456'; FLUSH PRIVILEGES; 注意:大家在设置权限的时候不要将密码设置过于简单!
  1. 从服务器配置文件的更改
server-id = 2 replicate-wild-ignore-table=mysql.% log-slave-updates #这个有需要可以开启 注意:
  1. replicate-wild-ignore-table参数能同步所有跨数据库的更新,比如replicate-do-db或者replicate-ignore-db不会同步类似
use mysql; UPDATE test.aaa SET amount=amount 10;
  1. replicate-wild-ignore-table=mysql.%在以后需要添加同步数据库的时候能方便添加而不需要重新启动从服务器的数据库。因为以后很可能需要同步其他的数据库。
  1. 从主服务器得到一个快照版本
如果你的是MYISAM或者既有MYISAM又有INNODB的话就在主服务器上使用如下命令导出服务器的一个快照: mysqldump -uroot -p --lock-tables --events --triggers --routines --flush-logs --master-data=2 --databases test

标签:线程,同步,replicate,MYSQL,服务器,日志,主从
来源: https://blog.csdn.net/xinyulou/article/details/101283834