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;

相关推荐
等....1 小时前
Minio使用
数据库
win x2 小时前
Redis 使用~如何在Java中连接使用redis
java·数据库·redis
迷枫7123 小时前
DM8 数据库安装实战:从零搭建达梦数据库环境(附全套工具链接)
数据库
XDHCOM4 小时前
PostgreSQL 25001: active_sql_transaction 报错原因分析,故障修复步骤详解,远程处理解决方案
数据库·sql·postgresql
卤炖阑尾炎4 小时前
PostgreSQL 日常运维全指南:从基础操作到备份恢复
运维·数据库·postgresql
daad7775 小时前
wifi_note
运维·服务器·数据库
xixingzhe26 小时前
Mysql统计空间增量
数据库·mysql
程序员萌萌6 小时前
Redis的缓存机制和淘汰策略详解
数据库·redis·缓存机制·淘汰策略
不剪发的Tony老师7 小时前
SQLite 3.53.0版本发布,重要更新
数据库·sqlite
Bczheng17 小时前
九.Berkeley DB数据库 序列化和钱包管理(1)
数据库