mysql--主从复制

mysql---主master从slave复制 replacation

实现原理:1.主服务器凡运行语句,都产生一个二进制日志 binlog

2.从服务器不断读取主服务器的binlog

3 .从服务器读取到的binlog转换为自身可执行的relaylog

4.执行relaylog

配置原理:1.首先确保主服务器打开二进制日志功能,这样,主服务器一旦有数据变化,立即产生二进制日志--------主服务器要配置binlog

2.从服务器也需要开启二进制日志和relay日志功能,这样可以从主服务器读取binlog并产生relaylog-------------从服务器要配置relaylog

3.在主服务器建立一个从服务器的账号,并授予读binlog的权限------------从服务器如何有权读取主服务器的binlog?(binlog是比较敏感的)----授权,master要授予slave账号

4.指定从服务器对应的主服务器,开启从服务器--------------从服务器用账号连接master

配置过程:Linux环境下




1主服务器配置:

给服务器起一个独特的id

server-id=201

声明二进制日志的文件为mysql-bin.xxxx

log-bin=mysql-bin

二进制日志的格式 mixed/roe/statement

binlog-format=mixed

主:

binlog-format=row/statement

statement:二进制记录执行语句,如update............

row:二进制记录的是磁盘变化

用哪种比较好?

update age=age+1 where id=3;//语句长而磁盘变化少,宜用row

update salary=salary+100;//语句短,但影响上万行,磁盘变化大,用statement


mixed:混合的,由系统根据语句来决定


2从服务器配置:

server-id=202

log-bin=mysql-bin----从服务器也要打开log-bin ,从服务器有时候也起到数据备份的功能,还有万一从服务器是作为另一台服务器的主服务器

binlog-format=mixed

relay-log=mysql-relay

重启服务器

3主从服务器都配置好后,还要建立两台服务器的关系,才能生效:

在主服务器上给从服务器授权:在主服务器上创建相应的复制账号

grant replication client,replication slave on *.* to repl@‘192.168.1.%’ identified by '111111';

冲刷 flush privileges;

4在从服务器上配置:在从服务器通过语句指定要复制的主服务器(注意,可以一主多从,不可一从多主,也可主主复制)

change master to

master_host='192.168.1.201',

master_user='repl',

master_password='111111',

master_log_file='mysql-bin.000001',

master_log_pos=348;---->pos的意思是当前主服务器的log文件也就是000001上的指针已经指到348的位置了


5重启slave

测试,在主服务器上建立一个数据库,从服务器上也会生成同样的数据库


配置好重新启动mysql

常用语句:

show master status;查看master的状态,尤其是当前的日志及位置

show slave status ;查看slave的状态

Reset slave;重置slave状态

start slave;启动slave状态(开始监听master的变化)

stop slave;暂停slave状态






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值