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