- 创建dbbackup.sh并编辑(注意:/usr/local/mysql/bin/mysqldump一定要放全路径,不然定时任务无法解析)
#!/bin/sh /usr/local/mysql/bin/mysqldump -u用户名 -p密码 -R 数据库名 | gzip > /home/mysql/data/mysqlbackup/db_center/`date +%Y-%m-%d--%H%M%S`.sql.gz rm -rf `find /home/mysql/data/data/mysqlbackup/ -name '*.sql.gz' -mtime 10` #删除10天前的备份文件
- 增加定时任务:命令:crontab -e
1 0 * * * /home/mysql/data/run/dbbackup.sh #(每天凌晨0点1分执行)
- 数据库备份还原
# 解压 gunzip db_name.sql.gz # 还原 mysql -u用户名 -p密码 数据库名 < db_name.sql
- mysql备份常用命令
#导出某个数据库--结构+数据 mysqldump -h192.168.6.27 -uroot -pxxxxxx db_name |gzip -9 > /db_bakup/db_name.gz #导出某个数据库的表--结构+数据+函数+存储过程 mysqldump -h192.168.6.27 -uroot -pxxxxxx -R db_name |gzip -9 > /db_backup/db_name.gz #导出多个数据库 mysqldump -h192.168.6.27 -uroot -pxxxxxx --databases db_name1 db_name2 db_name3 |gzip -9 > /db_backup/mul_db.gz #导出所有的数据库 mysqldump -h192.168.6.27 -uroot -pxxxxxx --all-databases |gzip -9 > /db_bak/all_db.gz #导出某个数据库的结构 mysqldump -h192.168.6.27 -uroot -pxxxxxx --no-data db_name|gzip -9 > /db_bak/db_name.strcut.gz #导出某个数据库的数据 mysqldump -h192.168.6.27 -uroot -pxxxxxx --no-create-info db_name|gzip -9 > /db_bak/db_naem.data.gz #导出某个数据库的某张表 mysqldump -h192.168.6.27 -uroot -pxxxxxx db_name tbl_name |gzip -9 > /db_bak/db_name.tal_name.gz # 导出某个数据库的某张表的结构 mysqldump -h192.168.6.27 -uroot -pxxxxxx --no-data db_name tal_name | gzip -9 > /db_bak/db_name.tal_name.struct.gz #导出某个数据库的某张表的数据 mysqldump -h192.168.6.27 -uroot -pxxxxxx --no-create-info db_name tbl_name | gzip -9 > /db_bak/db_name.tbl_name.data.gz