mysql进阶(八)主从复制

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值