MySQL备份方案
备份前准备
创建单独用于备份的用户,并授予相应的权限
create user db_backup@'localhost' identified by 'backup123';
grant select,lock tables,show view,trigger,event on backup_database.* to db_backup@'localhost';
grant reload,Replication client on *.* to db_backup@'localhost';方案 1:全量逻辑备份(使用 mysqldump,方案 1)
备份
#!/bin/bash
backup_file_name=db_backup_`date '+%Y-%m-%d'`.sql.gz
mysqldump -udb_backup -pbackup123 --single-transaction --flush-logs --master-data=2 backup_database | gzip > $backup_file_name
if [ -e $backup_file_name ] ;then
echo "Start to copy files"
# scp $backup_file_name lihu@ubuntu-vm-02:/home/lihu
else
echo "No file to copy"
fi额外的参数
--skip-add-drop-table:生成的备份文件中不要有 drop table 的语句,默认是有的。--no-data:不导出数据,仅导出表结构--no-create-info:不导出建表语句,仅导出数据



我们可以看到前面三行就是最近三次的提交历史(注意这里的显示是按照提交时间正序显示的,我们使用 git log 命令展示的是按照时间倒着显示的),如果我们要修改第一行,就是修改倒数第三次提交,将第一行的**
然后再执行
。我们很容易发现 rebase 还没有完全结束。在这里,我们还需要运行