mysql 主从配置

mysql 主从配置

主机

cat /etc/my.cnf

mysqld

1. 唯一标识(主库必须设为1,从库不能重复)

server-id = 1

2. 开启二进制日志(主从复制核心,记录所有数据变更)

log-bin = mysql-bin

3. binlog格式(推荐ROW,精准复制行级变更)

binlog_format = ROW

4. 同步时忽略mysql系统库(可选,减少binlog体积)

binlog-ignore-db = mysql

5. 基础配置(确保正常运行)

datadir = /var/lib/mysql

socket = /var/lib/mysql/mysql.sock

user = mysql

mysqld_safe

log-error = /var/log/mysqld.log

pid-file = /var/lib/mysql/19c01.pid

client

socket = /var/lib/mysql/mysql.sock

从机

mysqld

1. 唯一标识(必须≠主库的1,设为2)

server-id = 2

2. 开启中继日志(从库复制核心,接收主库binlog)

relay-log = mysql-relay-bin

3. 禁用从库的binlog(从库仅同步,不生成自己的binlog,可选)

log-bin = OFF

4. 从库只读(防止误写入,super权限用户仍可写)

read_only = 1

5. 基础配置

datadir = /var/lib/mysql

socket = /var/lib/mysql/mysql.sock

user = mysql

mysqld_safe

log-error = /var/log/mysqld.log

pid-file = /var/lib/mysql/19c02.pid

client

socket = /var/lib/mysql/mysql.sock

登录主机:

创建复制用户(允许从库19c02访问,替换为19c02的IP)

CREATE USER 'repl'@'192.168.158.132' IDENTIFIED BY 'root';

授予复制权限(仅允许复制,无其他权限)

GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.158.132';

刷新权限

FLUSH PRIVILEGES;

查看主库状态(关键!记录File和Position值,决定下面MASTER_LOG_POS的值; )

SHOW MASTER STATUS;

登录从机

停止原有复制(首次配置可忽略,防止报错)

STOP SLAVE;

配置主库连接信息(替换<>内的内容)

CHANGE MASTER TO

MASTER_HOST='192.168.158.131',

MASTER_USER='repl',

MASTER_PASSWORD='root',

MASTER_LOG_FILE='mysql-bin.000001',

MASTER_LOG_POS=660;

启动从库复制进程

START SLAVE;

查看从库复制状态(核心!验证同步是否正常)

SHOW SLAVE STATUS\G;

相关推荐
霸道流氓气质18 分钟前
CodeBuddy中配置Redis MCP 连接与排错实战
数据库·redis·缓存
王琦031833 分钟前
第一章 数据库-理论基础
数据库
数行拙笔35 分钟前
Redis---hash类型
数据库·redis·哈希算法
哈__38 分钟前
MCP 协议落地实践:国产化数据库 AI 一站式 SQL 诊断调优方案
数据库·人工智能·sql
范什么特西1 小时前
mysql总结
数据库·mysql
一招合理1 小时前
Accordion:一种HBase内存压缩算法
大数据·数据库·hbase
明亮 Blog1 小时前
Wi-Fi 6/7的物联网“芯”机遇:高带宽低延时如何重塑智慧工厂的AGV物流革命
服务器·网络·数据库
枫叶丹1 小时前
告别“人肉”搬砖:当AI助手直连数据库,SQL优化从未如此简单
数据库
zyplayer-doc1 小时前
企业文档的进化:网盘和在线文档的下一个升级方向—知识库系统
java·大数据·数据库·人工智能·ocr
Leon-Ning Liu1 小时前
【真实经验分享】Oracle RAC 修改 db_file_name_convert / log_file_name_convert 参数实践
数据库·oracle