上一篇
最新动态(2025年7月):近期多家企业因未配置数据库容灾方案导致数据丢失,专家再次强调主从同步与定期备份的必要性,MySQL 8.4版本优化了主从复制的稳定性,建议用户及时升级。
想象一下:服务器突然宕机,所有订单数据消失——没有备份,业务直接瘫痪,或者用户量暴增,单台数据库扛不住查询压力——没有主从同步,网站卡成幻灯片。
核心作用:
/etc/my.cnf
): [mysqld] server-id = 1 # 主库唯一ID log_bin = mysql-bin # 开启二进制日志 binlog_format = ROW # 推荐使用ROW格式 binlog-do-db = 你的数据库名 # 只同步指定库(可选)
systemctl restart mysqld
CREATE USER 'repl'@'从库IP' IDENTIFIED BY '密码123'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'从库IP'; FLUSH PRIVILEGES;
File
和Position
值: SHOW MASTER STATUS;
[mysqld] server-id = 2 # 从库ID必须与主库不同
CHANGE MASTER TO MASTER_HOST='主库IP', MASTER_USER='repl', MASTER_PASSWORD='密码123', MASTER_LOG_FILE='mysql-bin.000001', # 主库SHOW MASTER STATUS结果 MASTER_LOG_POS=154; # 主库的Position值
START SLAVE;
Slave_IO_Running: Yes
和Slave_SQL_Running: Yes
即成功): SHOW SLAVE STATUS\G
# 备份单个数据库 mysqldump -u root -p 数据库名 > backup.sql # 备份所有数据库(含创建语句) mysqldump -u root -p --all-databases --master-data > full_backup.sql
# 安装(以CentOS为例) yum install percona-xtrabackup-80 # 全量备份 xtrabackup --backup --user=root --password=密码 --target-dir=/backup/
#!/bin/bash mysqldump -u root -p密码 数据库名 | gzip > /backups/db_$(date +%F).sql.gz # 保留最近7天备份 find /backups/ -type f -mtime +7 -delete
添加到crontab每天凌晨执行:
0 3 * * * /path/to/backup_script.sh
tail -f /var/log/mysqld.log
server-id
重复 --compress
参数压缩 提示:生产环境建议主从配置完成后,用
pt-table-checksum
工具校验数据一致性。
本文由 怀刚洁 于2025-07-31发表在【云服务器提供商】,文中图片由(怀刚洁)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/498633.html
发表评论