备份
用自带的mysqldump
- --routines:备份数据库中的存储过程和函数
- --triggers:备份数据库中的触发器(默认启用,此参数显式包含)
- --events:备份数据库中的事件调度器
- --single-transaction:
- 对支持事务的存储引擎(如InnoDB)生成一致性备份,通过启动一个事务来创建快照,避免锁表
- 注意:此选项不适用于MyISAM等非事务引擎
bash
mysqldump -u root -p --routines --triggers --events --single-transaction --databases yourDbName > backup.sql
恢复
bash
mysql -u root -p yourDbName < backup.sql
增量数据
需开启binlog,编辑my.cnf或my.ini:
ini
[mysqld]
log-bin = mysql-bin # 开启binlog,文件名前缀为mysql-bin
server-id = 1 # 主从复制时需唯一(必填)
binlog_format = ROW # 推荐格式:ROW、STATEMENT或MIXED
expire_logs_days = 7 # 自动清理7天前的日志
max_binlog_size = 100M # 单个日志文件大小限制
bash
# 重启mysql服务
systemctl restart mysqld
sql
/* 验证是否开启 */
SHOW VARIABLES LIKE '%log_bin%';
bash
# 导出增量数据sql
mysqlbinlog --start-position=0 --database=copyright /var/lib/mysql/mysql-bin.000001 > zengliang.sql
Comments | 0条评论