MySQL复制
2016-01-29 17:25
344 查看
ySQL复制的优点主要包括以下几点:
1.如果主库出现问题,可以快速切换到从库提供服务;
2.可以在从库上执行查询操作,降低主库的压力;
3.可以在从库上执行备份,避免备份期间影响主库的服务;
MySQL复制的大致原理:
MySQL通过三个线程来完成主从库之间的数据复制,其中Binlog dump线程跑在主库上,IO线程和SQL线程跑在从库上;当在从库上启动START SLAVE时,首先创建IO线程连接主库,主库随后创建Binlog dump线程读取数据库中事件并发送给IO线程,IO线程获取到事件后更新到中继日志RELAY LOG中,从库上的SQL线程去读取中继日志中的更新事件并应用,完成主从操作.
复制中的各类文件:
二进制日志文件会把MySQL中的所有数据修改操作都会以二进制的形式记录到日志中,包括create、drop、insert、update、delete操作等,不包含select操作,因为select没有修改数据.
二进制日志格式:
1.statement :基于SQL语句级别的binlog
2.Row : 基于行级别,记录每一行的数据变化
3.Mixed : 混合statement和Row 模式,默认是Mixed
MySQL复制两种:
1.异步复制,就是正常的配置主从操作位异步复制
2.半同步复制:主库每次事务成功提交时,不会反馈给应用用户,而是等待从库接收到binlog事务并成功写入中继日志后,主库才会commit提交;主库上要安装semisync_master.so插件,从库安装semisync_slave.so插件,插件在$MYSQL_HOME/lib/plugin下
几个参数:
log-slave-updates
用来控制从库上的更新操作是否写二进制日志
master-connect-retry
设置和主库连接丢失重试的时间间隔,默认是60秒
read-only
用来设置从库只能接受超级用户的更新操作,限制应用程序错误的对从库的更新操作.
1.如果主库出现问题,可以快速切换到从库提供服务;
2.可以在从库上执行查询操作,降低主库的压力;
3.可以在从库上执行备份,避免备份期间影响主库的服务;
MySQL复制的大致原理:
MySQL通过三个线程来完成主从库之间的数据复制,其中Binlog dump线程跑在主库上,IO线程和SQL线程跑在从库上;当在从库上启动START SLAVE时,首先创建IO线程连接主库,主库随后创建Binlog dump线程读取数据库中事件并发送给IO线程,IO线程获取到事件后更新到中继日志RELAY LOG中,从库上的SQL线程去读取中继日志中的更新事件并应用,完成主从操作.
复制中的各类文件:
二进制日志文件会把MySQL中的所有数据修改操作都会以二进制的形式记录到日志中,包括create、drop、insert、update、delete操作等,不包含select操作,因为select没有修改数据.
二进制日志格式:
1.statement :基于SQL语句级别的binlog
2.Row : 基于行级别,记录每一行的数据变化
3.Mixed : 混合statement和Row 模式,默认是Mixed
MySQL复制两种:
1.异步复制,就是正常的配置主从操作位异步复制
2.半同步复制:主库每次事务成功提交时,不会反馈给应用用户,而是等待从库接收到binlog事务并成功写入中继日志后,主库才会commit提交;主库上要安装semisync_master.so插件,从库安装semisync_slave.so插件,插件在$MYSQL_HOME/lib/plugin下
几个参数:
log-slave-updates
用来控制从库上的更新操作是否写二进制日志
master-connect-retry
设置和主库连接丢失重试的时间间隔,默认是60秒
read-only
用来设置从库只能接受超级用户的更新操作,限制应用程序错误的对从库的更新操作.
相关文章推荐
- MySQL Server-id的作用
- MySQL 简洁连接数据库方式
- Kill 所有MySQL进程
- MySQL SHOW 语句大全
- MySQL创建复合索引
- MySQL 库大小、表大小、索引大小查询命令
- 多实例MySQL批量添加用户和密码并授权
- MySQL批量杀进程
- MySQL 多实例给root用户创建密码
- MySQL 多实例启动和关闭脚本
- MySQL 多实例删库脚本
- MySQL 多实例数据库还原脚本-备份集与端口对应
- 【转载】mysql 四种隔离级别分析
- 今天在操作MySQL里的表时报了两个错
- MYSQL 配置slave故障
- mysql 配置主从
- MYSQL-给带特殊符号的数据库创建用户名
- MYSQL创建多张表,相同表结构,不同表名
- 那些天zabbix踩的坑
- 使用nodejs,express,mysql,Bootstrap开发采购招标网站(四)Bootstrap-table实现Ajax新增修改数据