mysql主从复制原理和注意事项
来源:互联网 发布:虚拟打印机软件 编辑:程序博客网 时间:2024/06/11 11:14
mysql主从复制大体分3个步骤:
- 在主库上把更新的数据写入到二进制日志binglog文件里面;
- 备库把主库的二进制日志复制到自己的relay_log中;
- 备库读取relay_log并将里面的数据重放到数据库。
上述步骤在主从之间涉及到3个线程,a:主库上面的数据写入binglog线程,b:从库上面启动的I/O数据同步线程,该线程在主库上启动一个特殊的二进制转储线程,去读取binglog文件,并把数据发送给I/O线程保存到relay_log,c:从库的sql线程读取relay_log并写入数据库
创建同步复制帐号:该帐号需要下列权限
mysql>grant replication slave,replication client on *.* to rep@'172.16.0.%' identified by 'password';
复制帐号的权限其实只需要replication slave权限,replication client 是为了复制帐号的监控和管理需要
配置主库和从库配置文件,在主库修改my.cnf文件的下列选项
log_bin = /Data/mysql/3306/data/mysql #开启binglog文件记录
server_id = 1 #必须明确指明server_id,而且不容许复制环境有重复的server_id
relay_log = /Data/mysql/3306/data/mysql-relay-bin #开启relay_log并指定位置,该选项有默认值,也可不加
log_slave_updates = 1 #写relay-log的时候也写到bin-log,主要用在M-M-S环境,这里也可以不启用
备注:不要在配置文件my.cnf里面设置master_host或master_port这些老的选项,会导致一些问题
启动复制:mysql>change master to master_host = '172.16.0.11',master_user='rep',master_password='password',master_log_file='mysql-bin.000001',master_log_pos=0;
mysql>start slave;
mysql>show slave status\G;
下面给出一些推荐的复制配置
- 主库上二进制日志最重要的选项sync_binlog=1 ,开启该选项,mysql每次在事务提交前会把二进制日志同步到磁盘,保证服务器崩溃时,不会丢失事件。它只作用于binglog,而不是relay_log
如使用innoDB选项,则推荐下列选项:
innodb_flush_log_at_trx_commit#flush every log write
innodb_support_xa =1 #mysql 5.0 or newer only (innodb_safe_binglog#mysql 4.0 only)
skip_slave_start #选项阻止备库奔溃重启后自动启动复制
read_only #选项阻止大部分用户修改非临时表
0 0
- mysql主从复制原理和注意事项
- mysql主从复制原理和注意事项
- mysql主从复制原理和注意事项
- MySQL 主从复制的原理和配置
- MySQL 主从复制的原理和配置
- MySQL 主从复制的原理和配置
- Mysql主从复制的原理和配置
- MySQL主从复制原理
- Mysql主从复制原理
- Mysql主从复制原理
- mysql主从复制原理
- MYSql主从复制原理
- MySQL主从复制原理
- MySQL主从复制原理
- MySQL主从复制原理
- mysql主从复制原理
- mysql 主从复制原理
- mysql主从复制原理
- [SpringMVC] Maven + Eclipse 项目demo搭建
- Android EditText输入限制最大字符长度 和 限制只能输入数字和字母(包含大小写)
- SpringBoot入门系列:第四篇 redis
- HTTPClient4.5.2学习笔记(一):基础篇
- CENTOS 给iptables防火墙添加允许访问 的端口(添加端口白名单)
- mysql主从复制原理和注意事项
- MAC下显示/隐藏 系统文件夹的方法
- Android中获取系统内存信息以及进程信息-----ActivityManager的使用(一)
- 基于 jieba 和 word_cloud 生成《人民的名义》小说词云
- opecv-python学习笔记
- Linux学习——第2章 Linux系统安装(1)
- SpringBoot入门系列:第五篇 JPA mysql
- UVALive 3211 Now or later 二分+Twosat
- Flume与Logstash区别