mysqldump 学习笔记

mysqldump:

优点: 官方自带备份命令,  innodb引擎, Myisam引擎都适用

缺点: 备份时需锁表


具体命令:

sudo /usr/local/mysql/bin/mysqldump -uroot -p123456  \
--lock-all-tables --routines --triggers --events --master-data=2 --flush-logs  \
--databases --databases account_dev company_dev marketing_dev > /data/archive/dbbackup/备份文件名.sql

常用参数说明:

--lock-all-tables  #锁定所有表, 使用全局读锁,不允许任何修改操作
--routines   #(备份存储过程、存储函数)
--triggers #(备份触发器)
--events  #备份事件
--master-data=2
--flush-logs  #在数据库导出之前先执行FLUSH LOGS
--databases #指定数据库

vim /data/dbbackup.sh # 脚本备份数据库


backup_dir="/data/archive/dbbackup"
mysqluser="root"
mysqlpwd="123456"
backuplog="/tmp/dbbackup.log"

echo "`date '+%F_%T'` 准备开始备份数据库"

sudo /usr/local/mysql/bin/mysqldump -u$mysqluser -p$mysqlpwd --lock-all-tables --routines --triggers --events --master-data=2 --flush-logs  --databases account_dev company_dev marketing_dev  > $backup_dir/`date '+%F_%H-%M-%S'`_backup.sql  2>>$backuplog


if [  $? -eq 0 ]; then
     echo "`date '+%F_%T'` 备份数据库成功 " 1>>$backuplog 2>&1
else
    echo "`date '+%F_%T'` 备份数据库失败, 请查看日志 $backuplog " 1>>$backuplog 2>&1
    exit 1
fi

猜你喜欢

转载自my.oschina.net/u/3746773/blog/1788909