MySQL数据库主从配置

MySQL主从配置

1. 修改数据库my.cnf文件

修改数据库my.cnf文件,在文件中添加如下内容,其中主数据库的server-id必须要比从库的更小。

bash 复制代码
# 注册集群id
server-id=101
# 开启二进制日志文件
log-bin=mysql-bin
# 设置日志格式
binlog-format=row
# 开启中继日志
relay-log=relay-bin
# 忽略拷贝错误
slave-skip-errors=all

从库server-id设置为102

2. 主库创建拷贝用户

sql 复制代码
CREATE USER 'slave'@'%' IDENTIFIED BY 'slave';
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%';
SHOW MASTER STATUS;
# mysql-bin.000003
# 597

记住输出的fileposition

3. 从库配置主库信息

sql 复制代码
CHANGE MASTER TO 
MASTER_HOST='10.0.0.11', 
MASTER_PORT=3321,
MASTER_USER='slave', 
MASTER_PASSWORD='slave', 
MASTER_LOG_FILE='mysql-bin.000003', 
MASTER_LOG_POS=597;
START SLAVE;
SHOW SLAVE STATUS \G;

查看Slave_IO_Running和Slave_SQL_Running是否为yes。

4. 测试

在主库中新建test数据库和test表,检查从库是否拷贝。

sql 复制代码
create database test;
use test;
CREATE TABLE `test` (
  `id` int NOT NULL AUTO_INCREMENT,
  `test` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
# 插入数据测试
INSERT INTO `test` (`test`) VALUES ('abc');
INSERT INTO `test` (`test`) VALUES ('123');

从库中查询数据

mysql 复制代码
mysql> select * from test.test;
+----+------+
| id | test |
+----+------+
|  1 | abc  |
|  2 | 123  |
+----+------+
相关推荐
致Great1 小时前
Qwen3.8-Flash 发布:6B 激活,Qwen4 架构提前亮相
数据库·架构
张文君1 小时前
ubuntu26.04从ext4改成raid1+lvm启动
数据库·postgresql
鲨鱼辣钊1 小时前
FastAPI筑基_Day15_Alembic数据库迁移实战
数据库·elasticsearch·fastapi
叫我:松哥2 小时前
基于Flask的教师评教管理系统,支持学生和教师两种角色登录
数据库·后端·python·数据挖掘·flask
Tisfy2 小时前
LeetCode 3720.大于目标字符串的最小字典序排列:状态机 —— :从左往右枚举,失败则退回(最多退回一次)
linux·数据库·leetcode·字符串·状态机·构造
csdn_aspnet2 小时前
mysql 函数、存储过程写法及示例
数据库·mysql·存储过程·函数·function·procedure
IvorySQL2 小时前
倒计时 6 天!PGConf.Asia 2026 演讲征集即将截止
数据库·人工智能·postgresql
qyyyyy5702 小时前
PDF 转 JSON 怎么做?从表格和元数据提取到 LLM 结构化处理
数据库·pdf·json·erlang·llama
今天AI了吗2 小时前
从“金鱼脑”到“大象记忆”:AI Agent 短期记忆与长期记忆的存储与检索全解
数据库·人工智能·python·sql·rust
Java小白笔记2 小时前
Codex CLI 使用与斜杠指令实战教程
服务器·数据库·oracle