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 # 脚本备份数据库mysql
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