Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

mysql 主从复制

作者:浪子罢了   发布日期:2026-05-06   浏览:49

-- MySQL 主从复制配置示例

-- 1. 在主服务器上配置
-- 编辑 my.cnf 文件,添加或修改以下内容:
[mysqld]
server-id=1
log-bin=mysql-bin

-- 重启 MySQL 服务使配置生效
sudo systemctl restart mysql

-- 创建用于复制的用户
CREATE USER 'repl'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';

-- 锁定主数据库以获取二进制日志位置
FLUSH TABLES WITH READ LOCK;

-- 获取二进制日志文件名和位置
SHOW MASTER STATUS;

-- 解锁表
UNLOCK TABLES;

-- 2. 在从服务器上配置
-- 编辑 my.cnf 文件,添加或修改以下内容:
[mysqld]
server-id=2

-- 重启 MySQL 服务使配置生效
sudo systemctl restart mysql

-- 配置从服务器连接到主服务器
CHANGE MASTER TO
    MASTER_HOST='master_ip',
    MASTER_USER='repl',
    MASTER_PASSWORD='password',
    MASTER_LOG_FILE='mysql-bin.000001',
    MASTER_LOG_POS=154;

-- 启动从服务器复制进程
START SLAVE;

-- 检查从服务器状态
SHOW SLAVE STATUS\G;

解释说明:

  1. 主服务器配置

    • server-id:设置唯一的服务器 ID。
    • log-bin:启用二进制日志记录,这是主从复制的基础。
    • 创建一个用于复制的用户,并授予权限。
    • 使用 FLUSH TABLES WITH READ LOCK 锁定表,确保数据一致。
    • 使用 SHOW MASTER STATUS 获取二进制日志文件名和位置。
    • 解锁表后,可以继续操作。
  2. 从服务器配置

    • server-id:设置唯一的服务器 ID。
    • 使用 CHANGE MASTER TO 命令配置从服务器连接到主服务器,指定主服务器的 IP、用户名、密码、二进制日志文件名和位置。
    • 使用 START SLAVE 启动从服务器的复制进程。
    • 使用 SHOW SLAVE STATUS 检查从服务器的状态,确保复制正常工作。

上一篇:mysql 布尔类型

下一篇:mysql date类型

大家都在看

mysql二级索引

mysqlavg函数保留小数

mysql显示表内容

mysql经纬度距离计算

mysql 加密

存储过程mysql

mysql 1265

mysql with语句

mysql时间加减

mysql查询表名,模糊匹配

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站