Ubuntu与CentOS间MySQL主从备份配置教程

需积分: 34 1 下载量 151 浏览量 更新于2024-09-10 收藏 2KB TXT 举报
"在Linux环境下,配置MySQL主从备份是一个重要的数据冗余和故障恢复策略。本文档将指导你如何在Ubuntu和CentOS系统中设置MySQL主从复制,确保数据的安全性和连续性。" 在MySQL主从备份中,主要思路是主服务器(A)开启二进制日志(binlog),记录所有的数据更改操作,而从服务器(B)通过读取并应用这些日志来保持与主服务器的同步。通常采用主备同步模式,主主同步虽然可以提供更高的可用性,但配置复杂,不推荐作为基础配置。 **配置Master服务器** 1. **编辑my.cnf配置文件** 打开`/etc/mysql/my.cnf`,在`[mysqld]`段落下添加以下内容: - `server-id=1`:设定服务器ID,必须唯一。 - `log_bin=/var/log/mysql/mysql-bin.log`:指定二进制日志文件路径。 - `expire_logs_days=10`:设置日志保留天数,防止日志过多占用磁盘空间。 - `max_binlog_size=100MB`:设置单个日志文件的最大大小。 - `binlog_do_db=myslave`:指定需要同步的数据库,多数据库时可添加多行。 - `binlog_ignore_db=mysql`:可选,忽略不需要同步的数据库。 2. **允许远程访问** 使用`mysql`命令行工具,登录MySQL服务器,并授权远程主机访问: ```sql GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.110.*' IDENTIFIED BY 'root' WITH GRANT OPTION; FLUSH PRIVILEGES; ``` 这里假设你的IP是`192.168.110.*`,请替换为实际IP地址。 3. **重启MySQL服务** 重启MySQL服务以应用新的配置,如`sudo systemctl restart mysql`。 4. **验证主服务器状态** 使用`SHOW MASTER STATUS;`命令检查主服务器的日志状态,记下`File`和`Position`值。 **配置Slave服务器** 1. **编辑my.cnf配置文件** 同样打开`/etc/mysql/my.cnf`,设置`server-id`为一个不同于主服务器的值,例如`2`。 2. **配置 replication** 在从服务器上,使用`CHANGE MASTER TO`语句设置主服务器的信息: ```sql CHANGE MASTER TO MASTER_HOST='主服务器IP', MASTER_USER='root', MASTER_PASSWORD='root', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=2479; ``` 其中,`MASTER_LOG_FILE`和`MASTER_LOG_POS`应从主服务器的状态查询中获取。 3. **启动复制** 使用`START SLAVE;`命令启动复制进程。 4. **验证 Slave状态** 使用`SHOW SLAVE STATUS\G;`检查从服务器的复制状态,确保`Slave_IO_Running`和`Slave_SQL_Running`都显示`Yes`。 在配置完成后,主服务器的任何数据更改都将被记录并同步到从服务器,从而实现数据的实时备份。为了确保系统的稳定性和安全性,建议定期检查复制状态,并在必要时进行故障排查和维护。此外,考虑到数据安全,不要忘记定期备份整个数据库,以防万一。