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;

相关推荐
NeilYuen2 分钟前
Mysql实战——图片读写
数据库·mysql
Sayuanni%32 分钟前
微服务_注册中心Eureka与Nacos
数据库
倔强的石头_30 分钟前
一次MongoDB迁移之后,我开始重新理解融合数据库
数据库
正在走向自律38 分钟前
【金仓数据库征文】从 MySQL 迁移到金仓数据库:哈工大智能造价项目的一次信创改造实践
数据库·mysql·性能优化·国产数据库·数据库迁移·信创适配·金仓数据库征文
奇特認1 小时前
MySQL 集群技术 1.源码编译
数据库·mysql
爱和冰阔落1 小时前
【Linux】两个毫无关系的进程怎么通信?命名管道 FIFO 从原理到 Server/Client 实战
android·linux·数据库·c++·vim
范什么特西10 小时前
回答知识总结04(redis)
数据库·redis·缓存
码农颜11 小时前
5.4.1 锁分类
java·数据库·mysql
云深处@12 小时前
【数据库】MySQL 入门
数据库·学习·mysql
梦远星帆12 小时前
SQLyog社区版下载
数据库·mysql·sqlyog