MySQL数据库定时备份实例与Linux下的crontab定时备份
复制代码代码如下所示:
##################################################################
#备份数据库
##################################################################
#根用户,创建一个备份目录
mkdir -p / usr / / / mysql_dump cncounter地方
CD / usr / / / mysql_dump cncounter地方
#导出数据库备份
就你的根pmypasssecret cncounter > cncounter_dump.sql.20140414_1333
2。MySQL来恢复数据库的命令
复制代码代码如下所示:
##################################################################
#还原数据库
##################################################################
#更改密码
# mysqladmin -u root密码mypasssecret
mysqladmin -设置root的密码oldpass #mypasssecret
#登录
MySQL根pmypasssecret U
-热备份只是数据库中表的备份和数据。
使用cncounter;
源/ usr / / /当地cncounter mysql_dump / cncounter_dump.sql.20140414_1333;
出口;
三.使用crontab定期备份MySQL
3.1备份脚本
复制代码代码如下所示:
##################################################################
#定时备份crontab
##################################################################
#
#根用户,创建一个脚本
mkdir -p / / /数据mysql_dump根
CD /根/ mysql_dump
触摸mysql_back.sh
chmod 755 mysql_back.sh
#备份脚本编辑器
Vim mysql_back.sh
以下是################备份脚本的内容
# /斌/ SH!
# File: /root/mysql_dump/mysql_back.sh
#数据库信息
db_name =cncounter
db_user =根
db_pass =mypasssecret
#其他变量
# whereis mysqldump
#是`但不
bin_dir = / usr / bin
bck_dir = / / /根mysql_dump数据
日期= `日期+ % % % % % % d_ H M的`
# TODO
mkdir -p bck_dir美元
bin_dir美元/ mysqldump --选择美元美元美元db_user P db_pass db_name
> > bck_dir美元/ db_name dump_ date.sql美元美元。
当然,执行脚本也可以不那么灵活:行结束处的反向斜杠表示shell指令行更改,如果在单行中写入,它将不再需要。
复制代码代码如下所示:
/ usr /斌/ mysqldump -选择-中- pmypasssecret cncounter
> > / / /根mysql_dump数据/ cncounter。dump_ `日期+ % % % % % % d_ H M的`。SQL
转储产生的SQL文件可能非常大。我们还可以打开Gzip压缩。一般来说,它可以达到10倍的压缩比。也就是说,输出文件内容进行gzip程序通过管道运营商。
复制代码代码如下所示:
/ usr /斌/ mysqldump -选择-中- pmypasssecret cncounter gzip |
> > / / /根mysql_dump数据/ cncounter。dump_ `日期+ % % % % % % d_ H M的`。sql.gz
3.2添加到crontab
复制代码代码如下所示:
#添加到crontab
crontab -e
#添加,根用户不需要指定用户名,执行ESC,WQ
11 * * / / / mysql_back.sh mysql_dump根
#并不一定需要重启crontab服务
# crond启动服务
3.3 crontab的简单解释
复制代码代码如下所示:
#猫/ etc / crontab
Shell
路径= / sbin: /斌: / / sbin目录: / usr /箱
mailto =根
家=
#详情见男人4 crontabs
工作的定义,例如:#
# ----------------分钟(到59)。
# | -------------小时(0-23)。
# | |。月----------天(1 - 31)
# | | |。月(1-12)或1、2、4损坏,..
# | | | |。一周中的一天(0 - 6)(星期日= 0或7)或太阳,周一,周二、周三、周四、周五,坐
# | | | | |
# ***用户名要执行的命令
它可以发现crontab执行周期由5个部分组成,首先是分钟数,二是小时数,和第三是在一个月的天数。如果是*,这意味着计划每一天。
用户名部分,如果需要调度其他用户,可以指定,否则不能指定,例如root用户不能指定根目录,否则有调度日志,但没有实际实现。