MySQL 구성 마스터-슬레이브 복제 Windows 버전

MySQL 구성 마스터-슬레이브 복제 Windows 버전

마스터 섹션

1 새 데이터베이스 생성

create database testdb character set=utf8;
use testdb;
create table t1(
	id int,
    name varchar(200)
);

2 데이터베이스 서비스 중지

net stop mysql	

3 my.ini 파일을 편집하고 [mysqld] 아래에 다음 구성을 추가합니다.

######主从复制 master 配置
server-id=1
#开启binlog 文件名(存放在mysql数据存放位置内)
log-bin=mysql-bin
#需要被复制的数据库名称
binlog-do-db=master
#不需要复制的数据库 二者不能同时出现
#binlog-ignore-db=xxx

전체 구성 파일 :

[mysqld]
# 设置3306端口
port=3307
# 设置mysql的安装目录
basedir=D:\mysql\mysql-5.7.25-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\mysql\mysql-5.7.25-winx64\mysql-5.7.25-winx64\data\
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
#default_authentication_plugin=mysql_native_password

######主从复制 master 配置
server-id=1
#开启binlog 文件名(存放在mysql数据存放位置内)
log-bin=mysql-bin
#需要被复制的数据库名称
binlog-do-db=master
#不需要复制的数据库 二者不能同时出现
#binlog-ignore-db=xxx

#######主从复制 slave 配置
#serve-id=2 slave只需要配置一个server-id 即可 注意server-id 必须保持唯一
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3307
default-character-set=utf8

4 서비스 시작

net start mysql

5 구성

1. 사용자 이름이 슬레이브 인 사용자와 복사 권한 만있는 루트 암호를 가진 사용자를 생성합니다.

 grant replication slave on *.* to slave@'%'  identified by "123";

2 마스터현재 상태 보기

show master status;

여기에 사진 설명 삽입
파일과 위치를 기억해야합니다.

슬레이브 노드

1 데이터베이스를 마스터와 일관되게 유지

create database testdb character set=utf8;
use testdb;
create table t1(
	id int,
    name varchar(200)
);

2 데이터베이스 서비스 중지

net stop mysql

3 my.ini 파일을 편집하고 [mysqld] 아래에 다음 구성을 추가합니다.

#从服务只需要配置一个server-id即可
server-id=2

4 슬레이브 서비스 구성

-- 在mysql内 先停止 slave服务
stop slave;
-- 配置slave服务信息 注意 master_log_file 和 master_log_pos 和之前查看master的状态要保持一致
change master to 
master_host='127.0.0.1',
master_port=3307,
master_user='slave',
master_password='root',
master_log_file='mysql-bin.000002',
master_log_pos=444;
-- 启动 slave服务
start slave;
-- 查看 slave状态 看是否开启
-- Slave_IO_Running: Yes #负责与主机的io通信
-- Slave_SQL_Running: Yes #负责自己的slave mysql进程
show slave status;

테스트

메인 서비스에 데이터를 삽입하면 슬레이브 서비스가 자동으로 binlog 로그를 읽고 데이터를 백업합니다.

추천

출처blog.csdn.net/dndndnnffj/article/details/107286462