MYSQL5.7进阶之主从复制
主从复制是msql数据库的高可用 读写分离 容灾备份 等的基本要求
在这主从复制之前我们需要准备以下条件
- 保证master数据库和从数据库的mysql版本一致
- matser和从数据防火墙关闭 数据库端口开启
好了,开搞 奥利给 兄弟们 干就完了
首先我们要配置主数据库的信息
以楼主win系统下的数据库为主数据库为例子
找到mysql的配置文件 my.ini
在配置之前请将my.ini文件复制备份一份!
在配置之前请将my.ini文件复制备份一份!
在配置之前请将my.ini文件复制备份一份!
配置下列参数
(ctrl+f 快速操作相关参数 如果存在则修改,没有这个参数 则就加上就可以- -!)
# 这里是从数据库读取的主数据库的日志信息 注意Data后面的不是目录而是保存的文件名! log-bin="G:\mysql\Data\logbin" # 这里是从数据库读取的主数据库的异常信息 注意Data后面的不是目录而是保存的文件名! log-error="G:\mysql\Data\logerr" # 服务编号 默认为1 server-id=1 # 要复制的数据 这里填写你的数据库名 binlog-do-db=demo # 不需要复制的数据库 这里填写系统库就可以 binlog-ignore-db=mysql # 详情请看 https://www.cnblogs.com/langtianya/p/5504774.html 这里默认 binlog_format=STATEMENT
配置完成后 重启数据库
右键 -> 重新启动
如果重启失败 请检查你的配置是否正确 ! 备份很重要!!!
接下来咱们查看一下主数据库的状态
SHOW MASTER STATUS;
出现下列信息 表示数据库配置完成!
记住这两个参数 后面会用
接下来要配置咱们的从数据库了 首先打开咱们的终端
进入 etc
cd /etc
进入咱们的数据配置文件
vim my.cnf
添加箭头中的两个配置
添加完成后保存退出
接下来重启数据库
systemclt restart mysql
等待一会重启成功后
一抹翠绿代表启动成功!
好了接下来 我们完成最后一步就能连接啦!
首先操作主数据库 创一个用户
GRANT REPLICATION SLAVE ON *.* TO '定义你用户名'@'从数据库ip' IDENTIFIED BY '123456'
执行成功后
我们要用这个用户连接到咱们的主数据库
在从数据库中
# 这里填写你的主数据库ip CHANGE MASTER TO MASTER_HOST='192.168.0.102', # 连接的用户名 MASTER_USER='haoran', # 用户名密码 MASTER_PASSWORD='123456', # 这两个参数 读取的日志名称 和切入点 MASTER_LOG_FILE='logbin.000002',MASTER_LOG_POS=750
最后一项数据的应该咱们配置 就是我们之前的查出来的这两个数据!
配置完成后 别着急
还有一步
在从数据库执行
START SLAVE;
当执行成功后 代表主从复制已经搭建好了
测试一下
在主数据建库建表插数据 数据库名必须是之前的binlog_do_db 配置项的名称
主数据库
从数据库