MYSQL主从同步

MYSQL 主从同步
一.简述Mysql主从同步复制原理:
1.在Master服务器上启用mysql bin-log日志开关
2.在Master服务器建立主从同步mysql 的授权账号
3.在Salve服务器上执行 start slave ,开启主从复制开关,从而启用bin_log 日志
4.此时,Slave服务器的Io线程读取从库上master.info 文件中记录的主库的授权账号、密码、ip、端口、主库的bin_log 日志的文件名以及读取的位置信息,连接Master服务器,Mater服务器的Io线程接受到请求以后,判断账号是否合法。请求验证通过以后Master服务器的Io线程根据从库发过来的bin-log文件名以及上一次读取日志位置信息找到指定的bin-log日志内容,接着Master服务器的Io线程向Slave服务器发送日志内容、bin-log日志名、下一次读取bin-log日志的位置信息。
5.Slave服务器的Io线程接受到Master服务器Io线程的bin-log日志内容、Master 服务器的bin-log日志文件名、以及下一次读取的位置信息后,Slave服务器第一时间讲接受到的bin-log日志内容以写入从库的中继日志relay-log.info中,然后讲bin_log日志文件名称和下一次读取bin-log日志位置信息更新到Slave服务器的mater.info文件中。
6.Slave服务器的Sql线程会实时检测本地的relay-log.info日志中新增加的内容,然后及时的讲新增加的relay-log.info日志内容解析成Mater端曾经执行过的SQL语句,并且在自身Slave服务器上按照语句顺序执行应用这些SQL语句,应用完毕后并清理执行过的SQL语句。
7.经过上面的过程,Master服务器和Slave服务器就执行了一样的SQL语句,当复制状态正常的情况下,主从端的数据就是一执的。
二、主从复制的实现过程
1.准备两台服务器各跑一个数据库,或者一台服务器上安装两个数据库实例
2.启动两个数据库的服务
3.找到MYSQ安装的配置文件my.conf,打开并且进行编辑,去掉bin-log文件前面的注释,正式启用log-bin
4.确保两台服务器my.conf 下面的server_id是不一样的
5.在主库上添加从库同步的账号密码并且授权
6.create user ‘rep’ identified by ‘123’;
grant replication slave on “*” ‘rep’ @ “10.10.10.%” identified by “123”

flush privileges
7、在主库上添加读锁,数据不写入
flush table with read lock

Show master status 记住bin-log 日志只读的位置信息
8、新开一个mysql 窗口,进行数据备份
mysqldump -uroot -p root -S /data/mysql/3306/mysql.sock -A -B --events |gizp >/opt/resp.sql.gz
指定位置点信息
mysqldump -uroot -p root -S /data/mysql/3306/mysql.sock -A -B --events --master-data=2 |gizp >/opt/resp.sql.gz

Show mster status 查看锁表是否正常
8.释放读锁
unlock tables
9 在从库中导入主库备份数据
Mysql -uroot -p root -S /data/msyql/3307/sock </opt/resp.sql
10.在从库中执行如下语句
CHANGE MASTER To
MASTER_HOST=’10.0.10.1’,
MASTER_PORT=’3306’,
MASTER_USER=’resp’,
MASTER_PASSWORD=’1234’,
MASTER_LOG_FILE=’mysql-bin.000002’,
MASTER_LOG_POS=333;
11.执行 start slave
12.在从库上执行show slave status 查看工作线程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值