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 @   jiafeng  阅读(41)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示