您的位置:首页 > 数据库 > MySQL

第二步 使用mysqldump 和 crontab定时任务定时备份数据库

2013-01-06 17:05 435 查看
(以下所有操作都是在root权限下!!!)

先来说说mysqldump这个工具

这个工具是mysql提供的备份还原mysql数据库的工具先来讲讲备份

mysqldump -uroot -h192.168.1.1 -p123456 mysql host user > /home/1.sql

解释下这句命令 使用username:root,password:123456 登陆数据库 mysql 将mysql数据库中的host 和user表备份到/home/1.sql 这个文件

导入 就不多解释了

mysqldump -uroot -p123456 -h192.168.1.1 mysql </home/1.sql

可以尝试下 ,自己在控制台输入命令导出导入

下面我们讲讲定时任务 crontab (这里我们只是点到为止,满足我们的需求即可要详细掌握可以google)

使用 crontab -e 来设置当前用户的定时任务(这里是root)

* * * * * XXX

30 3 * * * sh /home/2.sh 这里是在每天的早上3.30分执行2.sh这个脚本上面的5个*分别表示 分 时 日 月 年 中间用空格隔开 XXX表示操作

设置好了之后保存,然后启动 service crond start 如果要设置成为开机启动 用vim /etc/rc.local 在文件加上一行 service crond start 保存

都设置好了 ,那么我们就可以开始动手写2.sh这个脚本了

在/home/下新建一个脚本 vim 2.sh 然后保存退出 ,将脚本权限改成可执行 chrom 777 2.sh 然后编辑2.sh 在里边写入

#!/bin/sh
echo "start db back up!!"
db_user=root
db_host=192.168.1.1
db_pswd=123456
db_name=mysql
table_names="host user"
save_path=/home/$(date +"%Y-%m-%d-%H-%M-%S").sql
mysqldump -u$db_user -h$db_host -p$db_pswd $db_name $table_names >$save_path
echo "successed db back up!!"
将db_user、 db_host、 db_pswd、 db_name、 table_names、save_path 替换成为你自己的 用户名 、数据库ip 、密码 、数据库名称、 要备份的表、保存路径,那么系统将在每天早上3.30分备份你要备份的表,然后按照年-月-日-时-分-秒.sql的名字保存下来 ,哈哈,第二步结束 我们将在下一步解决远程拷贝 自动输入用户名密码的问题
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: