MySQL80 配置主从复制(一主一从)

  • 环境准备:2台CentOS7主机
    • master:192.168.152.71
    • slave:192.168.152.72

一、安装MySQL

master 和 slave 都要安装
配置 MySQL 的 yum 仓库;MySQL官方 yum 仓库地址

yum install -y https://dev.mysql.com/get/mysql84-community-release-el7-1.noarch.rpm

上面命令执行完毕后只能安装 MySQL84 版本,要想安装 MySQL80 版本还需执行下面三条命令

yum-config-manager --enable mysql80-community
yum-config-manager --disable mysql-8.4-lts-community
yum makecache

安装MySQL

yum install -y mysql-community-server

二、修改配置文件

修改配置文件,通常在 /etc/my.cnf 或 /etc/mysql/my.cnf

vim /etc/my.cnf

master 配置文件添加以下内容

server-id=1    # 为每个 MySQL 实例指定一个唯一的 ID
log_bin=mysql-bin    # 启用二进制日志,指定日志文件名
binlog_format=ROW    # 设置二进制日志的格式;ROW 记录每行数据的变化,statement 记录 SQL 语句

slave 配置文件添加以下内容

server-id=2    # 为每个 MySQL 实例指定一个唯一的 ID

三、登录MySQL

启动 MySQL

systemctl start mysqld
systemctl enable mysqld

获取初始密码

grep 'passwork' /var/log/mysqld.log

结果大概为 2024-08-19T08:59:46.026947Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: vrP+yyDAI2lE 行尾的 vrP+yyDAI2lE 即为初始密码

或者运行下面命令直接获得,(只要日志格式不变,原理上是可以用的)

grep 'password' /var/log/mysqld.log | awk '{print $NF}'

更改密码

mysqladmin -uroot -p'初始密码' password '新密码'

四、连接master主机

登录 master 主机的mysql,创建一个专用于复制的用户
注意替换内容:replica_user 和 password

CREATE USER 'replica_user'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replica_user'@'%';

并执行以下 SQL 语句,记录下 File 和 Position 的值

SHOW MASTER STATUS;

登录 slave 主机的 mysql,执行下面命令

CHANGE MASTER TO
MASTER_HOST='master.IP',
MASTER_USER='replica_user',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='主服务器的File值',
MASTER_LOG_POS=主服务器的Position值,
get_master_public_key=1;

如果报错,看下面内容
注意:在MySQL 8.0中,CHANGE MASTER TO 语句用于配置复制。但是,从MySQL 8.0.14开始,该语句已经被弃用,并建议使用新的语句 CHANGE REPLICATION SOURCE TO

启动复制进程

START SLAVE;

执行以下 SQL 语句确认复制状态是否正常

SHOW SLAVE STATUS\G;

其中的两项如下,表示已经成功了

 Slave_IO_Running: Yes
Slave_SQL_Running: Yes
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值