备份
整理碎片文件
/var/lib/mysql
中的数据文件,即使表清空了,也不会减少体积- 数据文件中的数据被删除后留下的空白,被称为碎片
修改配置文件
关闭 binlog 相关参数
- 整理碎片文件是一个上表锁的 DDL 操作,需要避免写到 binlog,让其他节点同步到该操作
# 关闭 binlog 日志记录
# log_bin
# 控制从库 binlog 是否会记录主库同步的操作日志
# log_slave_updates
关闭集群相关参数
- 备份节点需要单独运行
执行语句
systemctl start mysql
后,执行以下语句ALTER TABLE
ENGINE=InnoDB; 可以跑程序进行碎片整理
冷备操作
下线节点
- 进行碎片整理后,下线该节点
备份
tar
指令备份 mysql 核心文件,/var/lib/mysql
tar
指令备份各个表分区文件
恢复节点
- 恢复配置文件中为了碎片整理而去除的 binlog 和 集群配置参数
- 重新启动该节点
还原
使用冷备还原节点
- 如果冷备中拥有表空间数据,那么还原节点时
- 必须有相同路径的表空间磁盘路径(可以挂载一个逻辑点)
- 表空间磁盘路径必须给 mysql chown
- 清空还原节点的 mysql 核心数据目录文件和表空间数据文件目录
- 下线节点
- 将冷备解压覆盖到对应的目录中
修正数据目录和表分区数据文件目录内文件隶属的用户和用户组
chown -R mysql:mysql
/* 对配置文件进行适当修正
- 上线节点