MySQL主从复制环境搭建
一、主从复制原理
MySQL主从复制主要包含三个线程(Log Dump Thread、IO Thread、SQL Thread)和两个日志(Bin log、Relay log),Master的数据库变更会写到binlog中,binlog内容会通过Log Dump Thread线程发送给从节点,从节点的IO Thread线程读取到内容后会将内容写到Relay Log中,然后通过SQL Thread线程读取Relay Log并以SQL形式在Slave数据库执行。
- 主节点内容变更会写到binlog日志文件中;
- 主节点log dump thread发送增量binlog到从节点,从节点通过IO Thread将内容写道Relay log中;
- 从节点SQL Thread线程读取Relay log更新的内容,然后以SQL形式在从节点数据库中重新执行一次。
二、Master节点配置
2.1、开启binlog日志
在/etc/my.cnf中添加如下配置,配置完需重启MySQL服务。
# master info
# 设置server_id,同一局域网中需要唯一
server_id=1001
# 二进制日志过期清理时间。默认值为0,表示不自动清理
expire_logs_days=30# binlog文件名称
log-bin=mysql-bin# 指定需要同步的数据库名称
# binlog_do_db=test
# 指定不需要同步的数据库名称
binlog-ignore-db=mysql
# 设置二进制日志使用内存大小(事务)
binlog_cache_size=1M
# 设置使用的二进制日志格式(mixed,statement,row)
binlog_format=mixed
2.2、创建连接主库使用的账号
在master数据库中创建slave连接master使用的用户,用户创建完后需登录一次,否则导致从库一直处理connecting状态。
# 创建连接主库的账号
create user 'slave'@'192.168.1.100' identified by 'Slave@123';
# 授权账号权限
grant replication slave on *.* to 'slave'@'%';
# 刷新权限
flush privileges;
# 用户创建成功后需登录一次,否则可能导致从库一直connecting状态
quit;
mysql -uslave -p
三、 binlog信息查询
查看binlog日志名称及偏移量:show master status\g;
查看master中binlog状态,log_bin=ON代表已打开,OFF则关闭
三、Slave节点配置
3.1、从节点配置
在/etc/my.cnf中添加如下配置,配置完同样需重启MySQL服务。
# slave info
# 设置server_id,同一局域网中需要唯一
server_id=1002
# relay_log配置中继日志
relay_log=mysql-relay-bin
# slave设置为只读(具有super权限的用户除外)
read_only=1
3.2、配置Master相关信息
1、配置主库相关信息
# master_host:主节点ip
# master_user:主节点用户名(拥有replication slave权限的用户)
# master_port:用户对应的密码
# master_log_file:binlog文件名称(在主库中通过“show master status\g;”查看)
# master_log_pos:偏移量(在主库中通过“show master status\g;”查看)
# master_connect_retry:重试时间
change master to master_host='192.168.0.109',
master_user='slave',
master_password='Slave@123',
master_port=3306,
master_log_file='mysql-bin.000003',
master_log_pos=157,
master_connect_retry=30;2、启动从库
start slave;
3.3、验证
通过show slave status \G;查询,如果Slave_IO_Running和Slave_SQL_Running状态都为Yes即代表配置成功。
MySQL主从复制环境搭建相关推荐
- Mysql系列三:Centos6下安装Mysql和Mysql主从复制的搭建
一.Centos6下安装Mysql 检测下系统有没有自带的mysql:yum list installed | grep mysql, 如果已经有的话执行命令yum -y remove mysql- ...
- 【MySQL】面试官:如何添加新数据库到MySQL主从复制环境?
今天,一名读者反馈说:自己出去面试,被面试官一顿虐啊!为什么呢?因为这名读者面试的是某大厂的研发工程师,偏技术型的.所以,在面试过程中,面试官比较偏向于问技术型的问题.不过,技术终归还是要服务于业务的 ...
- 2012 iis php mysql_Win2012 R2 IIS8.5+PHP(FastCGI)+MySQL运行环境搭建wordpress博客教程
Win2012 R2 IIS8.5+PHP(FastCGI)+MySQL运行环境搭建教程 一.环境说明: 操作系统:Windows Server2012 R2 PHP版本:php 5.5.8 MySQ ...
- iis8.5 php mysql_Win2012 R2 IIS8.5+PHP(FastCGI)+MySQL运行环境搭建教程
这篇文章主要介绍了Win2012 R2 IIS8.5+PHP(FastCGI)+MySQL运行环境搭建教程,需要的朋友可以参考下 准备篇 一.环境说明: 操作系统:Windows Server 201 ...
- rsyslog+mysql+loganalyzer 环境搭建日志服务器
环境:CentOS6.6 rsyslog+mysql+loganalyzer 环境搭建日志服务器 Client端: 192.168.2.10 MySQL服务器: 192.168.2.11 # ...
- mysql 搭建日志服务器_rsyslog+mysql+loganalyzer 环境搭建日志服务器
环境:CentOS6.6 rsyslog+mysql+loganalyzer 环境搭建日志服务器 Client端:192.168.2.10 MySQL服务器:192.168.2.11 # Client ...
- 柠檬班接口测试Tomcat+MySQL测试环境搭建
Tomcat+MySQL测试环境搭建 安装Tomcat运行环境 配置MySQL数据库 发布项目 配置数据库开机自启 遇到的问题 安装Tomcat运行环境 参考链接: https://blog.csdn ...
- (三)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - Nginx环境搭建
因为在网上发现系统性.严谨(特别是在安全方面)的Linux部署方面的参考文章很少,于是整理以下六篇Linux环境部署的系列性文章,其为本人在实践中,完整的搭建一个基于Linux系统上Centos+Ng ...
- win2012 r2 iis php,Win2012 R2 IIS8.5+PHP(FastCGI)+MySQL运行环境搭建wordpress博客教程
运行环境搭建教程 一.环境说明: 操作系统:Windows Server2012 R2 PHP版本:php 5.5.8 MySQL版本:MySQL5.6.15 二.相关软件下载: 1.PHP下载地址: ...
最新文章
- sap 教学视频网址
- 342. Power of Four
- C语言实现hashset算法(附完整源码)
- 使用easyUI 格式化datagrid列
- 倒计时2天 | AI开发者大会完整议程揭秘!与百名大咖玩转人工智能
- 最简单的php导出excel文件方法
- 8.23玩转linux第三天之history、alias、unalias 、mkdir、rmdir、tree命令(一)
- linux apt get 无效,kail Linux apt-get失败解决方案
- [WPF]控件应用多个样式
- Python - OpenCV库的安装
- 体表面积在线计算机,体表面积计算器
- PySerial库的简单用法
- 物联网之智能家居系统设计和实现
- Aggressive cows题目翻译
- Springboot 整合百度地图 API
- 基于人脸识别的考勤记录项目
- 饿了么红包、美团优惠券开发
- 面试官:Vue3.0 性能提升主要是通过哪几方面体现的?
- js判断鼠标滚动放下,向上滚还是向下滚?
- 卡奴、车奴、房奴,你是哪种?