MySQL 5.7 配置主从

本文详细介绍了MySQL5.7版本中主从复制的配置步骤,包括基于行的复制方式设置、主数据库账号权限配置、二进制日志开启及从库同步过程。适用于需要搭建数据库高可用架构的读者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装MySQL,参考安装MySQL5.7
主从复制有2种,一种是基于语句复制,另一种是基于行,5.7版本的默认是基于行复制

  1. 配置主数据库
    修改主数据库配置/etc/my.cnf,不同的linux,配置文件所在位置不同
server-id=1  #设置server-id 数字  唯一,不可重复,
log_bin=master-bin #开启二进制日志
expire_logs_days=10
max_binlog_size=100M

可指定复制哪个库或者哪些表。

进入主数据库的命令行,执行

#创建一个用于复制的账号,账号名和密码自定义,
CREATE USER 'replication'@'%' IDENTIFIED BY 'YourPassword';
#授予这个账号 REPLICATION  SLAVE 权限
GRANT REPLICATION SLAVE ON *.* TO 'replication'@'%';
#刷新权限,使其生效
flush privileges;

授权是注意使用MySQL的root账号,还要查看root账号有没有 grant option权限。就是mysql.user表的grant_pri列的值是不是"Y"
查看master状态,记录下二进制文件名file和位置position,在配置从库时使用。
从库会从这个文件的这个位置开始复制。

SHOW MASTER STATUS;
  1. 从数据库
    修改配置文件
server-id=2  #设置server-id 数字  唯一,不可重复

进入从数据库命令行,执行:

CHANGE MASTER TO
MASTER_HOST='0.0.0.0',#主数据库的IP
MASTER_USER='replication',
MASTER_PASSWORD='YourPassword', #在主数据库创建的用于复制的账号和密码
MASTER_LOG_FILE='mysql-bin.000009',
MASTER_LOG_POS=154;# 在主数据库执行 show master status; 的文件和位置
#启动slave
start slave;
#查看slave状态
show slave status;

查看slave状态,看到 slave_io_running 和 slave_sql_running的值 YES,表示主从已经配置成功,可以在主上修改条数据在从库上检验下。

假如想下线slave,执行:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值