MySQL 主从笔记

MySQL主从大致过程:

master:开启binlog server-id 进入数据库 增加一个账户 用来传输数据 给同步权限  

给表上读锁 将全部数据打包  解锁  查看 master binlog读取位置  

slave :开启binlog server-id 将打包的数据导入  添加masterip 端口 账户 密码 查看binlog位置 show slave status;

备份: MySQLdump -u -p -A -F |gzip > /opt/mysql-bak.sql.gz

复制过程:master数据内容有变更后,将语句写入binlog日志,slave的I/O线程通过master上的账号来
请求复制不同的日志内容,复制之后写入slave的中继日志,slave的sql线程从中继日志中写入到数据库中。


同步方式:
异步复制:主库执行完Commit后,在主库写入Binlog日志后即可成功返回客户端,无需等等Binlog日志传送给从库,一旦主库宕机,有可能会丢失日志。

半同步复制:等待其中一个从库也接收到Binlog事务并成功写入Relay Log之后,才返回Commit操作成功给客户端;如此半同步就保证了事务成功提交后至少有两份日志记录,一份在主库Binlog上,另一份在从库的Relay Log上,从而进一步保证数据完整性;半同步复制很大程度取决于主从网络RTT(往返时延),以插件 semisync_master/semisync_slave 形式存在。 

主从复制原理重点:
1、主从复制是异步的逻辑的SQL语句级的复制 
2、复制时,主库有一个I/O进程,从库有两个线程即I/O线程和SQL线程 
3、实现主从复制的必要条件是要开启binlog功能 
4、做为复制的所有mysql节点的server-id都不能相同 
5、binlog文件只记录有更改的SQL语句(来自数据库内容的变更)不记录任何查询(如select\show)语句。


从端设置;
CHANGE MASTER TO
MASTER_HOST='10.0.0.7',
MASTER_PORT=3306,
MASTER_USER='rep',
MASTER_PASSWORD='oldboy123',
MASTER_LOG_FILE='mysql-bin.000008',
MASTER_LOG_POS=342;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值