5 mysql主从复制

个人专题目录


mysql中,索引,主键,唯一索引,联合索引的区别

MySQL单表百万数据记录分页性能优化

mysql设计总结

MySQL数据库与SQL优化

mysql的架构介绍

mysql索引优化分析

mysql查询截取分析

mysql锁机制

mysql主从复制

1. 复制的基本原理

1.1 slave会从master读取binlog来进行数据同步

1.2 三步骤+原理图

5 mysql主从复制_第1张图片
clip_image273.jpg

master将改变记录到二进制日志(binary log)。这些记录过程叫做二进制日志时间,binary log events

slave将master的binary log ebents拷贝到它的中继日志(relay log)

slave重做中继日志中的时间,将改变应用到自己的数据库中。MySQL复制是异步的且串行化的

2. 复制的基本原则

2.1 每个slave只有一个master

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

2.3 每个master可以有多个salve

3. 复制最大问题

3.1 延时

4. 一主一从常见配置

4.1 mysql版本一致且后台以服务运行

4.2 主从都配置在【mysqld】结点下,都是小写

4.3 主机修改my.ini配置文件

1.【必须】主服务器唯一ID

server-id =1

2.【必须】启用二进制日志

log-bin=自己本地的路径/mysqlbin

3.【可选】启动错误日志

log-err=自己本地的路径/mysqlerr

log-err=D:/devSoft/MySQLServer5.5/data/mysqlerr

4.【可选】根目录

basedir="自己本地路径"

basedir="D:/devSoft/MySQLService5.5/"

5.【可选】临时目录

tmpdir="自己的本地路劲"

tmpdir="D:/devSoft/MySQLService5.5/"

6.【可选】数据目录

datadir="自己本地路径/Data/"

datadir="D:/devSoft/MySQLService5.5/Data/"

7.read-only=0

主机,读写都可以

8.【可选】设置不要复制的数据库

binlog-lgnore-db=mysql

9.【可选】设置需要复制的数据

binlog-do-db=需要复制的主数据库名字

4.4 从机修改my.cnf配置文件

【必须】从服务器唯一ID

【可选】启用二进制文件

4.5 因修改过配置文件,请主机+从机都启动后台mysql服务

4.6 主机从机都关闭防火墙

windows手动关闭

关闭虚拟机linux防火墙service iptables stop

4.7 在Windows主机上简历账户并授权slave

GRANT REPLICATION SLAVE ON. TO 'zhangsan'@'从机器数据库IP‘ IDENTIFIED BY '123456';

flush privileges;

查询master的状态

show master status;

记录下File和Position的值

执行完此步骤后不再执行主服务器MySQL,防止主服务器状态值变化

4.8 在Linux从机上配置需要复制的主机

CHANGE MASTER TO MASTER_HOST='主机IP',MASTER_USER='zhangsan',MASTER_PASSWORD='123456',MASTER_LOG_FILE='File名字',MASTER_LOG_POS=Position数字;

5 mysql主从复制_第2张图片
clip_image275.jpg

启动从服务器复制功能

start slave;

show slave status\G

下面两个参数都是YES,则说明主从配置成功!

Slave_IO_Running:Yes

Slave_SQL_Running:Yes

4.9 主机新建库、新建表、insert记录,从机复制

4.10 如何停止从服务复制功能

stop slave;

你可能感兴趣的:(5 mysql主从复制)