mysql进阶(八)主从复制-阿里云开发者社区

开发者社区> 数据库> 正文

mysql进阶(八)主从复制

简介: 1.复制的作用   2.MySQL日志     二进制日志:记录了所有对mysql数据库的修改事件,包括增删改查和对表结构的修改(有点类似于redis的aof日志)注意:这里二进制记录的日志都是执行成功的操作。

1.复制的作用

 

2.MySQL日志 

   二进制日志:记录了所有对mysql数据库的修改事件,包括增删改查和对表结构的修改(有点类似于redis的aof日志)注意:这里二进制记录的日志都是执行成功的操作。binlog工具:

二进制日志格式:

 

基于段的二进制日志格式优点:①基于段的二进制日志,记录的每个事件记录的SQL语句,不需要记录每一行的变化,所以日志记录量相对较小,节约磁盘及网络I/O; 【注意:当只对一条数据进行修改或者插入,row格式所产生的日志量小于段产生的日志量】

基于段的二进制日志格式缺点:由于记录的是SQL语句,为了让sql正确执行,就必须要记录上下文信息;保证语句在从服务器上执行结果和主服务器上相同。【对于特定函数UUID(),user()这样非确定性函数还是无法复制】

 

3.主从复制:

1.复制的基本原理:slave会从master去读binlog来进行数据同步。

2.复制的基本原则 

每个slave只有一个master 

每个slave只能有唯一的服务器ID

每个master可以有多个slave

3.复制的最大问题:延时

4.一主一从常见配置(主机windows,从机linux)

步骤1. mysql版本一致且后台以服务运行

步骤2.主从配置在[mysqld]节点下,都是小写

步骤3.主机(windows)修改 my.ini配置文件,从机(linux)修改my.cnf配置文件

3.1(必须)配置主服务器唯一ID :server-id=1

3.2(必须)启用二进制日志 :在[mysqld]节点下,设置bin_log ,之后重启mysql的服务进程

3.3启用错误日志

3.4根目录

3.5临时目录

步骤4.因为修改过配置文件,把主机和从机都重启后台mysql服务

步骤5.主机从机都要关闭防火墙service iptables stop

步骤6.在windows主机上建立账户授权slave,如下:

 

步骤7.在从机上(linux)上配置需要复制的主机

7.1

show master status;  -- 查看file  position binlog_do_db,binlog_ignore_db等参数的值
change master to master_host='主机的ip地址',
master_user='用户名',
master_password='密码',
master_log_file='mysqlbin.具体数字', master_log_pos=具体值;

 

7.2 启动从服务器复制功能 :start slave

7.3:运行命令:show slave status\G : 如果现实的参数Slave_IO_Running:yes  slave_SQL_Running:yes,都是yes,就表示成功了

步骤8.主机新建库,新建表,insert记录,从机复制

步骤9.如何停止主从复制功能:stop slave

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章