MySQL —— 配置一主一从 ( 8.0.18 版本 )

1. 准备两台网络可以单向连通的计算机

1.1. master 服务器环境

操作系统:Linux,阿里云 ECS 云服务器;

MySQL 版本:8.0.18;

IP:112.124.1.100;

1.2. slave 服务器环境

操作系统:windows10,本地操作系统

MySQL 版本:8.0.18

IP:192.168.1.107

 

2. 配置 master 服务器

2.1. 配置启动参数

[mysqld]
# master 机必须开启 log_bin
log_bin=mysql-bin

# 日志过期时间 ( 0 即不过期 )
expire_logs_days = 0

# 单个 log_bin 文件最大值
max_binlog_size = 100M

# 服务器标识符, 确保每台服务器标识符都不一样
server-id = 1000

# mysql 安装路径
basedir=/var/lib/mysql

# mysql 数据路径
datadir=/var/lib/mysql

# mysql socket 文件
socket = /var/lib/mysql/mysql.sock

# master 记录操作的数据库
binlog_do_db=test

# 启用 innodb 引擎分表存储 ( 默认开启 )
innodb_file_per_table=ON

# 禁用 DNS 解析
skip_name_resolve=OFF

[mysql]

default-character-set=utf8mb4

[client]

default-character-set=utf8mb4

3.2. 重启服务使参数生效

3.3. 创建用户并授权,刷新权限

create user 'replication'@'%' identified with mysql_native_password by 'replication';
grant replication slave on *.* to 'replication'@'%';
flush privileges;

 

3. 配置 slave 服务器

3.1. 配置启动参数

[mysqld]
# 服务器标识符, 确保每台服务器标识符都不一样
server-id = 2000

# mysql 安装路径
basedir=D:\mysql

# mysql 数据路径
datadir=D:\mysql\data

# master 复制数据库
replicate_do_db=test

[mysql]

default-character-set=utf8mb4

[client]

default-character-set=utf8mb4

3.2. 重启服务使参数生效

4. 配置一主一从

4.1. 登陆 master,查看 master 状态

show master status;
+------------------------------------+----------+--------------+------------------+-------------------+
| File                               | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------------------------+----------+--------------+------------------+-------------------+
| iZbp13qubkh4obhv5jxw91Z-bin.000001 |      155 | test         |                  |                   |
+------------------------------------+----------+--------------+------------------+-------------------+

4.2. 登陆 slave,查看 slave 是否有残余配置

show slave status\G;

4.3. 先停止 slave,再清除残余配置

stop slave;
reset slave all;

4.4. 根据 master 的 file,position 配置 slave

change master to master_host = '112.124.1.100', master_user = 'replication', master_password = 'root', master_log_file = 'iZbp13qubkh4obhv5jxw91Z-bin.000001', master_log_pos = 155;

4.5. 启动 slave,查看 slave 状态

start slave;
show slave status\G;

注意 Slave_IO_Running 和 Slave_Slave_Running 需要均显示为 Yes,才表示成功,否则留意错误提示。

over

发布了48 篇原创文章 · 获赞 2 · 访问量 6346

猜你喜欢

转载自blog.csdn.net/qq_39291919/article/details/100126872