标签:17.
17.1 MySQL主从介绍MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步的
MySQL主从是基于binlog的,主上须开启binlog才能进行主从。
主从过程大致有3个步骤
1)主将更改操作记录到binlog里
2)从将主的binlog事件(sql语句)同步到从本机上并记录在relaylog里
3)从根据relaylog里面的sql语句按顺序执行
主上有一个log dump线程,用来和从的I/O线程传递binlog
从上有两个线程,其中I/O线程用来同步主的binlog并生成relaylog,另外一个SQL线程用来把relaylog里面的sql语句落地
MySQL主从原理图
截图
原理:从会把主的binlog搞到从上,从会根据binlog生成自己的一份中继日志,然后根据中继日志去执行响应的更改,最终达到数据同步一致。
主从的工作场景:
数据备份-->目的是防止主机器发生意外导致无法正常使用,从而将在主上备份到从上的数据迁移出来,从而使其继续服务运作。
数据备份且在从上读取数据-->从库作为读库,减轻主库读的压力。
17.2 准备工作
准备2台Linux服务器,分别作为主库,从库。
centos7-01主库,centos7-02从库
截图
目的是让2台机器都正常启动mysql,方便后面做实验
17.3 主从配置 - 主上操作
1 修改my.cnf,增加server-id=128和log_bin=aminglinux1
[root@centos7-01 src]# vim /etc/my.cnf
[mysqld]
datadir=/data/mysql
socket=/tmp/mysql.sock
server-id=128
log_bin=aminglinux1
解释:
sever-id为自定义
log_bin名称不能有错误,它是binlog的前缀
2 重启mysql
[root@centos7-01 src]# /etc/init.d/mysqld restart
Shutting down MySQL.. SUCCESS!
Starting MySQL.. SUCCESS!
2.1 重启后查看mysql生成的文件
[root@centos7-01 src]# cd /data/mysql/
[root@centos7-01 mysql]# ls -lt
总用量 110648
-rw-rw---- 1 mysql mysql 50331648 5月 16 16:04 ib_logfile0
-rw-rw---- 1 mysql mysql 12582912 5月 16 16:04 ibdata1
-rw-rw---- 1 mysql mysql 30114 5月 16 16:04 centos7-01.err
-rw-rw---- 1 mysql mysql 5 5月 16 16:04 centos7-01.pid
-rw-rw---- 1 mysql mysql 21 5月 16 16:04 aminglinux1.index
-rw-rw---- 1 mysql mysql 120 5月 16 16:04 aminglinux1.000001
-rw-rw---- 1 mysql mysql 56 5月 4 17:22 auto.cnf
drwx------ 2 mysql mysql 4096 5月 4 17:10 mysql
drwx------ 2 mysql mysql 4096 5月 4 17:10 performance_schema
-rw-rw---- 1 mysql mysql 50331648 5月 4 17:10 ib_logfile1
drwx------ 2 mysql mysql 6 5月 4 17:10 test
其中前缀aminglinux1是binlog文件
aminglinux1.index 索引文件
aminglinux1.000001 二进制文件,这个随后还会产生002,003....如此类推
没有这类文件,主从是没办法完成的。
标签:17.
原文地址:http://blog.51cto.com/13578154/2117077