MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步的,MySQL主从基于binlog,主上须开启binlog才能进行主从。
MySQL主从过程大致有3个步骤 1)主将更改操作记录到binlog里 2)从将主的binlog事件(sql语句)同步到从本机上并记录在relaylog里 3)从根据relaylog里面的sql语句按顺序执行
mysql主从使用场景:1)数据备份,主机器宕机,从机器还能随时对web提供服务 2)作为一个从库,读的库,减轻主库的压力,数据备份且可以分担主机器被调用数据时的压力,mysql主从,是有方向性的,写数据,必须从主机器开始;如果不依照原理会导致数据紊乱
做实验需要两台机器,且都需要mysql; * 主机1 ying01 192.168.112.136; * 主机2 ying02 192.168.112.138 ;
第一步:先查看ying02是否安装mysql 第二步;把ying01上的mysql 5.6的安装包,复制到ying02机器上; 第三步:此时,解压,创建用户,初始化等 现在把ying01作为主(master),把ying02作为从(slave) 按下面提示,编辑主配置文件; 重启mysql服务;查看数据目录有 ying01.000001和ying.index两个文件; 先把zrlog数据库做备份,并改名为 yingying数据库; 进入mysql; 授予repl用户(所属IP)从复制权限,针对所有的数据库及表,以及密码 先锁定数据库以防止写入数据; 查看master状态 把需要主从复制的数据库都备份
现在在从端配置: ying02 192.168.112.138 编辑mysql配置文件; 重启mysql服务;并利用scp命令,复制ying01上备份文件到ying02上/tmp下; 由于ying02没有给mysql命令指定环境变量;因此此时需要设置别名,方便使用; 创建与ying01上相同的数据库,并把/tmp下相应的备份数据库,拷贝到刚创建的数据库,需要一一对应; 若slave io及sql线程已经启动,需要先 stop slave change master命令设置slave从机与master主机进行通信; 开启从机上slave io及sql线程;