ubuntu系统下mysql数据库的备份与恢复

shell脚本的形式备份/恢复mysql数据库(可通过定时任务定时执行)。

1.mysql数据库的备份脚本如下:

#!/bin/sh
#mysqldump备份程序执行路径
DUMP=/usr/bin/mysqldump
#备份文件存放路径
OUT_DIR=/home/fuhao/tablebackup
mkdir -p $OUT_DIR
#系统用户名
LINUX_USER=root
#要备份的数据库名字
DB_NAME=test
#数据库账号 注意:非root用户要用备份参数 --skip-lock-tables,否则可能会报错
DB_USER=root
#数据库密码
DB_PASS=handge
#获取当前系统时间
DATE=$(date +%Y-%m-%d_%H:%M:%S).sql
#备份数据库的文件名
OUT_SQL=$OUT_DIR/$DATE
#备份
$DUMP -u$DB_USER -p$DB_PASS $DB_NAME --default-character-set=utf8 --opt -Q -R --skip-lock-tables>$OUT_SQL
#更改备份数据库文件的所有者
chown $LINUX_USER:$LINUX_USER $OUT_DIR/$DATE


2.mysql数据库的恢复脚本:

#!/bin/sh
#mysql恢复程序执行路径
RECO=/usr/bin/mysql
#数据库账号 注意:非root用户要用备份参数 --skip-lock-tables,否则可能会报错
DB_USER=root
#数据库密码
DB_PASS=handge
#要恢复的数据库名字
DB_NAME=test
#恢复脚本路径
SQL_PATH=/home/fuhao/tablebackup
#恢复sql脚本名称
SQL_NAME=2018-05-03_17:19:32.sql
#恢复数据

$RECO -u$DB_USER -p$DB_PASS $DB_NAME --default-character-set=utf8 < $SQL_PATH/$SQL_NAME


3.定时执行mysql数据库恢复脚本:

示例如下:

#每天凌晨1点执行mysql数据库备份操作,/home/fuhao/test/ 为备份脚本路径,根据实际情况修改

1、添加数据库备份定时任务

crontab -e
(1)添加如下内容:
0 0 1 * * ? sh /home/fuhao/test/mysql_databak.sh
(2)保存退出操作:
CTRL+O   Enter  CTRL+X
2、查看crontab的服务状态
  service cron status
  如果 stop,需执行service cron start,如果 running,则运行中。

ps:直接复制内容创建sh脚本即可,参数请根据注释自行修改,注意编码格式为utf-8。

       ubuntu系统下查看mysql安装路径命令:ps -ef|grep mysql

       mysqldump备份程序路径在mysql的bin路径下



你可能感兴趣的:(mysql)