Centos7搭建MySQL主从复制架构
2020-07-12 16:57
495 查看
简介
主从复制(也称 AB 复制)是将来自一个MySQL数据库服务器(主服务器)中的数据复制到一个或多个MySQL数据库服务器(从服务器)中
准备Centos7设备
配置ip和hostname,关闭防火墙和selinux
在/etc/hosts中添加主机名和IP地址映射
hostname | ip |
---|---|
master | 192.168.29.132 |
bak | 192.168.29.138 |
配置MySQL
添加主从复制账号
MySQL5.7:
mysql>grant replication slave on *.* to 'repl'@'%' identified by 'your_password'; mysql>flush privileges;
MySQL8:
mysql>create user 'repl'@'%' identified by 'your_password'; mysql>grant replication slave on *.* to 'repl'@'%'; mysql>flush privileges;
修改master结点的配置文件/etc/my.cnf
[mysqld] log_bin=binlog expire_logs_days=7 max_binlog_size=200M server-id=1 binlog-do-db=mydb binlog-ignore-db=mysql
配置说明:
log_bin:设定日志名称
expire_logs_days:日志保存时间
max_binlog_size:日志最大容量
server-id:服务器识别号,master和bak的server-id不可重复
binlog-do-db:需要实现主从复制的数据库
binlog-ignore-db:不需要复制的库
重启master主机的MySQL服务,查看master主机信息
mysql> show master status\G; File: binlog.000146 Position: 155 Binlog_Do_DB: mydb Binlog_Ignore_DB: mysql Executed_Gtid_Set:
备份master主机的数据并导入到bak主机中
在master结点执行备份命令,并传到bak结点中
mysqldump -u root -p -h localhost mydb > mydb.sql scp mydb.sql root@bak:/tmp
在bak结点中创建数据库并进行数据导入
mysql -u root -p mysql>create database mydb; mysql>use mydb; mysql>source /tmp/mydb.sql
配置bak主机的配置文件
[mysqld] server-id=2 expire_logs_days=7 max_binlog_size=200M
启动bak结点的MySQL服务并进行主从配置
mysql>stop slave; mysql>change master to ->master_host='192.168.29.132', ->master_user='repl', ->master_password='your_password', ->master_log_file='binlog.000146', ->master_log_pos=155;
参数含义:
master_host:主机IP地址
master_user:主从复制远程主机用户
master_password:主从复制远程主机用户的密码
master_log_file:实现复制的binlog日志文件
master_log_pos:binlog日志文件的偏移量
mysql>start slave; mysql>show slave status\G;
查看bak主机中slave状态
Slave_IO_Running: Yes Slave_SQL_Running: Yes
主从复制配置成功
出现错误
mysql>show master status\G;
更新bak中的slave状态
mysql>stop slave; mysql>change master to ->master_log_file='binglog.000146', ->master_log_pos=155; mysql>start slave; mysql>show slave status\G;#状态如下,问题解决 Slave_IO_Running: Yes Slave_SQL_Running: Yes
测试验证
在master结点的mydb库中进行创建表以及数据的增删改查操作,观察bak结点的MySQL库是否会同步实现操作
相关文章推荐
- Centos7搭建基于GTID的MySQL主从复制架构
- Centos7搭建基于GTID的MySQL主从复制架构
- 如何使用Docker搭建MySQL主从复制架构
- mysql 5.7 docker 主从复制架构搭建
- 【大型网站技术实践】初级篇:搭建MySQL主从复制经典架构
- 【大型网站技术实践】初级篇:搭建MySQL主从复制经典架构
- 【大型网站技术实践】初级篇:搭建MySQL主从复制经典架构
- 【大型网站技术实践】初级篇:搭建MySQL主从复制经典架构
- CentOS7搭建mysql主从复制
- 【大型网站技术实践】初级篇:搭建MySQL主从复制经典架构
- mysql 5.7 docker 主从复制架构搭建教程
- 【大型网站技术实践】初级篇:搭建MySQL主从复制经典架构 一、业务发展驱动数据发展
- mysql 5.7 docker 主从复制架构搭建教程
- 【大型网站技术实践】初级篇:搭建MySQL主从复制经典架构
- MySQL主从复制架构搭建及读写分离测试
- MySQL5.5.42 主从复制架构搭建
- 【大型网站技术实践】初级篇:搭建MySQL主从复制经典架构
- Linux开发环境搭建(二)--MySQL配置主从复制
- MySQL主从复制、读写分离、高可用集群搭建
- mysql gtid模式主从复制搭建