今天给大家带来一篇mysql的主从复制配置讲解
主从复制的一个流程如下
主:
1、启动二进制日志
2、为实例设置一个server_id
3、创建有复制权限的用户
从:
1、启动中继日志
2、为实例设置一个server_id(切记 不可于主server_id重复)
3、用有复制权限的用户账号,连接至主节点,并启动io,sql线程
演示环境:
虚拟器vmware15pro 、centos6.5 网络模式桥接 共两台 一台做主机,一台做从机
主机ip: 192.168.159.128
从机ip: 192.168.159.129
第一步,打开编辑主机配置文件
vi /etc/my.cnf
第二步,开启日志文件
在[mysqld]后面 不管哪里都行 添加如下:
log-bin = mysql-bin
server-id=1 (注释 这里一般是本机ip地址的后面三位,我这里就用1了)
第三步、启动mysql服务器,登陆进去
service mysqld start 可以启动服务器
stop关闭
进去以后首先要查看一下我们的二进制日志是否开启成功
然后找到一个 log_bin 对应的值是 ON就没问题啦
然后可以查看一下二进制的日志表
命令是 SHOW MASTER LOGS;(别忘了后面有 ;)
然后可以查看一下我们刚刚设置的server_id 是否生效
看见有设置的就表示Ok
接下来就是在主节点上创建有复制权限的用户。REPLIACTION SLAVE,REOPLIATION CLIENT。
命令如下:
然后使用命令刷新一波。
FLUSH PRIVILEGESL;
我们主机已经配置好啦
不过有一点是,主机要开放3306端口,以便于远程访问这里引入一下连接(重点不处理会导致后面的错误)
https://www.cnblogs.com/qianzf/p/6995140.html
接下来我们配置从机步骤如下:
vi /etc/my.cnf
在[mysqld]后面随便哪里哈 添加如下
relay-log=relay-log
relay-log-index=relay-log.index
server-id=2(注释 这里一般是本机ip地址的后面三位,我这里就用2了)
然后退出编辑,登录mysql
输入 SHOW GLOBAL VARIABLES LIKE “%log%”;(这里有;号)
然后找到 log_bin =OFF
relay_log=relay-log
relay_log_info_file=relay-log.index
找到这三项,对应我的就可以了
然后看一下我们的server_id是否设置成功
命令: SHOW GLOBAL VARIABLES LIKE “%server%”;
确定没有问题以后输入:有点长不要马虎- 0-
倒数第二步,看到这里就证明你离成功不远啦!
启动io,sql线程
输入命令:
start slave;(;号)
成功以后输入:
SHOW SLAVE STATUS\G;(;号)
然后找到:
Slave_IO_Runnig:Yes
Slave_SQL_Runnig:Yes
恭喜你成功啦,接下来我们就测试一下吧
我们直接去主机,然后我们先看一下二进制日志信息,当我们操作主机的时候,那么它的Position值会发生改变的,会变大哈
先新建一个数据库吧!
CREATE DATABASE newdb;
然后输入命令:
SHOW MASTER STATUS;记住一下当前的Position值
然后我们去从机- 0-
输入 SHOW MASTER STATUS;
然后看见 Read_Master_Log_Pos:值 是不是刚刚主机查看到的Position值呢?
然后我们直接在从机输入 show databases; 看一下有没有我们在主机新建的 newdb数据库吧!