mysqldump数据备份

来源:互联网 发布:苍南法院拍卖淘宝网 编辑:程序博客网 时间:2024/05/16 08:10

可以通过mysqldump –help 查看详细帮助
-d 表示只导出结构
-t 表示只导出数据
–single-transaction 我们可以控制备份导出时,操作在同一事务中,来达到备份数据的一致性和完整

–lock-tables 表示导出备份时只能锁定一个库
–lock-all-tables 需要 dump 的表分别在多个不同的数据库中,一定要使用“–lock-all-tables”才能确保数据的一致完整性。

1.导出数据库
mysqldump –lock-all-tables ximilo_server -u用户名 -p密码 数据库名> ximilo_server.sql
若提示 Using a password on the command line interface can be insecure.其实数据已经导出到当前命令所在目录
导出指定表
mysqldump –lock-all-tables ximilo_server 表名1 表名2

2.定时备份,会利用到centos中的crontab可以参考一下博客
http://blog.csdn.net/netdxy/article/details/50562864

写脚本

#!/bin/sh# File: /root/mysql_dump/mysql_back.sh# Database infoDB_NAME="dbname"DB_USER="username"DB_PASS="passsword"# Others vars# whereis mysqldump# IS ` but not 'BIN_DIR="/usr/bin"BCK_DIR="/data/mysql_data_bak"DATE=`date +%Y%m%d_%H%M%S`# TODOmkdir -p $BCK_DIR$BIN_DIR/mysqldump --opt -u$DB_USER -p$DB_PASS $DB_NAME > $BCK_DIR/$DB_NAME.dump_$DATE.sql

然后在crontab中添加任务并执行脚本

 crontab -e  添加以下内容# 添加一行,root用户不需要指定执行的用户名,ESC,wq#第一个数字表示分(minute);#第二个数字表示时(hour);#第三个数字表示天(day of month);#第四个数字表示月(month);#第五个数字表示分(day of week);#以上数字为*时表示不限。* 23 * * *  /data/mysql_data_bak/mysql.sh #表示每天23时自动备份
0 0
原创粉丝点击