-- MySQL 双机热备配置示例
-- 1. 主服务器 (Master) 配置
-- 编辑 MySQL 配置文件 my.cnf,在 [mysqld] 段落中添加以下内容:
[mysqld]
server-id=1
log-bin=mysql-bin
binlog-format=mixed
expire_logs_days=7
-- 2. 从服务器 (Slave) 配置
-- 编辑 MySQL 配置文件 my.cnf,在 [mysqld] 段落中添加以下内容:
[mysqld]
server-id=2
relay-log=mysql-relay-bin
log-bin=mysql-bin
read-only=1
-- 3. 在主服务器上创建用于复制的用户
CREATE USER 'repl'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
-- 4. 在主服务器上锁定表并获取二进制日志位置
FLUSH TABLES WITH READ LOCK;
SHOW MASTER STATUS;
-- 记录下 File 和 Position 的值,例如:
-- File: mysql-bin.000001
-- Position: 12345
-- 5. 在从服务器上配置主服务器信息
CHANGE MASTER TO
MASTER_HOST='master_ip',
MASTER_USER='repl',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=12345;
-- 6. 启动从服务器的复制线程
START SLAVE;
-- 7. 检查从服务器的状态
SHOW SLAVE STATUS\G;
-- 注意:在实际生产环境中,请确保防火墙和网络配置允许主从服务器之间的通信,并且备份和恢复机制已经就绪。
主服务器配置:设置 server-id
为唯一的标识符,启用二进制日志记录 (log-bin
) 并设置日志格式为 mixed
。expire_logs_days
设置日志过期天数。
从服务器配置:设置 server-id
为不同的唯一标识符,启用中继日志 (relay-log
) 和二进制日志记录。read-only=1
确保从服务器只读。
创建复制用户:在主服务器上创建一个用于复制的用户,并授予其 REPLICATION SLAVE
权限。
锁定表并获取二进制日志位置:锁定所有表以防止数据更改,然后查看当前的二进制日志文件名和位置。
配置从服务器:使用 CHANGE MASTER TO
命令配置从服务器连接到主服务器,并指定二进制日志文件和位置。
启动复制线程:在从服务器上启动复制线程。
检查状态:使用 SHOW SLAVE STATUS
查看从服务器的复制状态,确保一切正常运行。
如果有任何问题或需要进一步的帮助,请随时联系我!
上一篇:mysql 查询数据库
下一篇:mysql判断为空或者空字符方法
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站