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');
到从库看一下,是否有了?
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)