Ubuntu MySQL复制功能怎样配置
导读:Ubuntu 上配置 MySQL 主从复制 一 环境准备与安装 准备两台 Ubuntu 服务器,分别作为主库 Master与从库 Slave,安装相同版本的 MySQL(示例使用 APT 安装)。 建议通过内网通信,开放 3306 端口,...
Ubuntu 上配置 MySQL 主从复制
一 环境准备与安装
- 准备两台 Ubuntu 服务器,分别作为主库 Master与从库 Slave,安装相同版本的 MySQL(示例使用 APT 安装)。
- 建议通过内网通信,开放 3306 端口,并保障时间同步(如 NTP)。
- 安装命令:
- sudo apt update
- sudo apt install mysql-server
- sudo systemctl status mysql
- 以上步骤完成后,两台机器均可正常登录 MySQL。
二 主库 Master 配置
- 编辑配置文件(常见路径:/etc/mysql/mysql.conf.d/mysqld.cnf 或 /etc/mysql/my.cnf),在 [mysqld] 段添加:
- server-id = 1
- log_bin = /var/log/mysql/mysql-bin.log
- binlog_do_db = your_database_name(可选:仅复制指定库;不配置则复制全部库)
- 重启生效:sudo systemctl restart mysql
- 登录 MySQL 创建复制专用账号并授权:
- CREATE USER ‘replicator’@‘%’ IDENTIFIED BY ‘your_password’;
- GRANT REPLICATION SLAVE ON . TO ‘replicator’@‘%’;
- FLUSH PRIVILEGES;
- 获取二进制日志位点(用于从库接入):
- SHOW MASTER STATUS; 记录 File 与 Position(如:mysql-bin.000001、123)。
三 从库 Slave 配置与接入
- 编辑配置文件,在 [mysqld] 段添加:
- server-id = 2(必须唯一)
- relay_log = /var/log/mysql/mysql-relay-bin.log
- log_bin = /var/log/mysql/mysql-bin.log(可选:若从库也需级联复制)
- binlog_do_db = your_database_name(与主库保持一致,若主库配置了)
- read_only = 1(建议开启,防止误写)
- 重启生效:sudo systemctl restart mysql
- 登录 MySQL,接入主库:
- CHANGE MASTER TO
- MASTER_HOST=‘master_ip’,
- MASTER_USER=‘replicator’,
- MASTER_PASSWORD=‘your_password’,
- MASTER_LOG_FILE=‘记录的File’,
- MASTER_LOG_POS=记录的Position;
- START SLAVE;
- CHANGE MASTER TO
- 检查复制状态:SHOW SLAVE STATUS\G,确保 Slave_IO_Running 与 Slave_SQL_Running 均为 Yes。
四 初始化数据与一致性保障
- 若主库已有数据,需在备份期间保持一致性:
- 在主库执行:FLUSH TABLES WITH READ LOCK;
- 记录位点:SHOW MASTER STATUS;
- 备份数据(示例):mysqldump -u root -p --all-databases --master-data > dbname.sql
- 解锁:UNLOCK TABLES;
- 将备份导入从库:mysql -u root -p < dbname.sql
- 若主库不允许停机,可使用 Percona XtraBackup 进行在线物理备份与恢复,再启动复制。
五 验证与常见扩展
- 验证:在主库写入数据(如 CREATE DATABASE/TABLE/INSERT),在从库查询确认同步到位。
- 扩展:
- 级联复制:从库开启 log_bin 后可作为上游主库继续向下游复制。
- 主主复制:两台服务器互为主从,并配置自增偏移避免冲突:
- auto_increment_increment = 2
- auto_increment_offset = 1(另一台设为 2)
- 安全与性能:限制复制账号来源网段、启用 SSL/TLS 加密传输、监控复制延迟与错误日志。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu MySQL复制功能怎样配置
本文地址: https://pptw.com/jishu/774715.html
