搭建mysql主从复制

1、准备两台机器

两台linux虚拟机,安装好mysql数据库。主从复制原理:从机通过读取主机的binlog日志写入自身的中继日志来实现同步。
ps:不建议安装好一台mysql后,复制到另一台,会出现mysql的server-uuid=06905c59-2d3b-11ea-8f21-000c29942721一致导致主从复制失败。

vim data/auto.cnf

2、主机配置

my.cnf配置

port=3306
default-time_zone='+8:00'
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
basedir=/usr/local/mysql-5.6.46
datadir=/usr/local/mysql-5.6.46/data
log-error=/usr/local/mysql-5.6.46/log/error.log

server-id=1
#binlog日志格式,mysql默认采用statement,建议使用mixed
binlog_format=statement
##binlog日志文件
log-bin=/usr/local/mysql-5.6.46/binlog/mysql-bin.log
#设置不要复制的数据库(可设置多个)
binlog-ignore-db=STATEMENT
binlog-ignore-db=information_schema
#设置需要复制的数据库
#binlog-do-db=
##binlog过期清理时间   
expire_logs_days=7
##binlog每个日志文件大小
max_binlog_size=100m
##binlog缓存大小
binlog_cache_size=4m
##最大binlog缓存大小
max_binlog_cache_size=512m

开启复制binlog日志权限的mysql账号

grant replication slave on *.* to 'slave'@'%' indentified by '123123';

查看主机状态
在这里插入图片描述

3、从机配置

my.cnf配置

port=3306
default-time_zone='+8:00'
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
basedir=/usr/local/mysql-5.6.46
datadir=/usr/local/mysql-5.6.46/data
log-error=/usr/local/mysql-5.6.46/log/error.log

#从服务器唯一ID
server-id=2
#启用中继日志
relay-log=mysql-relay

配置跟随主机

change master to master_host='192.168.93.135',master_user='slave',master_password='123123',master_log_file='mysql-bin000001',master_log_pos=319;

192.168.93.135表示主机ip
slave 表示主机授权复制binlog日志的账号
123123 表示主机授权复制binlog日志账号的密码
mysql-bin000001 表示从主机的哪个binlog文件开始
319 表示从主机的哪个binlog文件里的具体位置开始

启动从服务器复制功能

start slave;

查看从服务器状态

show slave status\G;

在这里插入图片描述
当看到两项属性为yes时,主从搭建成功。
**注意:**如果从服务器已经开启了slave功能,需要从新配置新的主机。

stop slave;
reset master;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值