centos mysql的自动备份与还原

备份sql

#导出整个数据库(包括数据库中的数据)
#mysqldump -u 用户名 -p 数据库 > 备份的路径及文件名
[root@hll ~]# mysqldump -u hll -p hll > /home/hll.sql
#输入密码
Enter password: 
[root@hll ~]# 

#导出数据库中的某张数据表(包含数据)
#mysqldump -u 用户名 -p 数据库 表名 > 备份的路径及文件名
[root@hll ~]# mysqldump -u hll -p hll user > /home/user.sql
#输入密码
Enter password: 
[root@hll ~]# 

还原sql

#还原数据库
#mysql -u 用户名 -p -f 数据库 < 备份的路径及文件名(-f 参数表示在导出过程中忽略出现的SQL错误)
[root@hll ~]# mysql -u hll -p -f hll < /home/hll.sql
#输入密码
Enter password: 
[root@hll ~]# 

centos下自动备份

1.创建脚本

#根据自己情况选择文件夹作为脚本目录
[root@hll ~]# cd /dev
[root@hll ~]# mkdir backup --创建文件夹
[root@hll ~]# cd backup

#创建备份脚本
[root@hll ~]# vi mysqlback.sh --根据自己的情况设置名字

2.在脚本文件粘贴下面的内容

#home/backup 这个两个目录需要事先创建好,也可以是别的目录
#!/bin/bash
mysqldump -uhll -phll123 hll > /home/backup/mysql_$(date +%Y%m%d_%H%M%S).sql

#压缩备份
#!/bin/bash
mysqldump -uhll -phll123 hll | gzip > /home/backup/mysql_$(date +%Y%m%d_%H%M%S).sql.gz

3.添加可执行权限(注意建好的脚本是否有语法错误)

chmod u+x mysqlback.sh

4.添加计划任务

#检测是否已安装crontab
[root@hll ~]# crontab
[root@hll ~]# -bash: crontab: command not found --有这个提示说明未安装,需要先安装

安装命令:
yum install vixie-cron
yum install crontabs

执行计划任务

#执行下面的命令可以对计划任务进行编辑。
[root@hll ~]# crontab -e

#输入一下内容并保存
#*/10 * * * *是每十分钟执行一次,根据自己的情况设置
*/10 * * * * /dev/backup/mysqlback.sh --这个是之前创建的脚本

定时任务的启动、停止和重启

#启动
[root@hll ~]# /sbin/service crond status
#停止
[root@hll ~]# /sbin/service crond stop
#重启
[root@hll ~]# /sbin/service crond restart
#删除所有定时任务
[root@hll ~]# crontab -r

#删除某个定时任务
#mysqlback.sh 创建的脚本任务
#/var/spool/cron/root 任务执行文件都是这个文件下,即crontab -e打开的文件
[root@hll ~]# sed -i '/mysqlback.sh/d' /var/spool/cron/root  

猜你喜欢

转载自blog.csdn.net/sinat_33151213/article/details/80804047