MySQL主从搭建笔记

前言:环境介绍

操作系统:windows10,64,;

MySQL版本:解压方式安装的MySQL8.0.20

一、配置主从的mysql配置文件

1.my.ini配置:

master:

#主从--master设置
server-id=1
log-bin=mysql-bin
binlog_format=row

master配置完后,重启master的MySQL服务。

slave:

#主从--slave设置
server-id=2
log-bin=mysql-bin
binlog_format=row
master_info_repository=TABLE
relay_log_info_repository=TABLE
log_slave_updates=on
relay_log_recovery=1

slave配置完后,重启slave的MySQL服务。

二、在主库创建主从复制的mysql账号

CREATE USER mysqlsync@'%' IDENTIFIED  BY '123456';
GRANT REPLICATION SLAVE ON *.* TO mysqlsync@'%';

三、备份主库指定数据库

mysqldump  -P3306 -uroot -p123456  --single-transaction  --master-data=2 --databases test>d:/test.sql

--single-transaction:是为了得到一个一致性备份,在到处数据之前开启一个事物,由数据库保证单次导出数据的一致性,此时针对InnoDB表的所有读写操作均不会被阻塞。

--master-data=2:让备份出来的文件中备份这一时刻的binlog文件和position号

四、在从库上恢复主库的备份

source d:/test.sql;

五、启动从库服务

在从库上运行:

CHANGE MASTER to master_host='127.0.0.1',master_user='mysqlsync',master_password='123456',master_log_file='binlog.000003',master_log_pos=2332;

注意,务必和备份文件中两个参数:MASTER_LOG_FILE、MASTER_LOG_POS 一致。

接着运行

start slave;
show slave status\G

确保以下两项均为Yes,说明主从服务正常:

   Slave_IO_Running:Yes

   Slave_SQL_Running: Yes

六、测试

在主库上建表,并插入数据

create database test;
use test;
CREATE TABLE `stu` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `code` varchar(30) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=In

INSERT INTO test.stu (code) VALUES
	 ('001'),
	 ('002');

到从库看一下,是否有了?

 

posted @ 2022-04-22 17:24  jiafeng  阅读(39)  评论(0编辑  收藏  举报