帮助中心 >
centos mysql 数据库自动备份

对mysql 数据库中单个数据库进行备份
登陆linux服务器后,新建mysql-backup.sh
[root@localhost /]# vi mysql-backup.sh 
写入以下信息:

  1. db_user="root"                           #数据库用户名,根据客户自身mysql修改
  2. db_passwd="123456"              #数据库用户密码,根据客户自身mysql修改
  3. db_host="localhost"                  #数据库地址,一般我们备份的为本地数据库,所以一般直接写localhost
  4. db_name="ecshop"                  #数据库名,修改成你想备份的数据库
  5. # the directory for story your backup file.  
  6. backup_dir="/backup"               #备份路径 ,修改成你想备份到的目的路径
  7. # date format for backup file (dd-mm-yyyy)   
  8. time="$(date +"%Y-%m-%d-%H-%M-%S")"    #获取当前日期时间  ,不要修改
  9. # mysql, mysqldump and some other bin's path  
  10. MYSQL="/usr/local/mysql/bin/mysql"                #mysql本身程序路径,修改成服务器本身mysql路径
  11. MYSQLDUMP="/usr/local/mysql/bin/mysqldump"             #mysqldump所在路径,修改成服务器本身mysqldump路径
  12. GZIP="/bin/gzip"                             #Gzip 所在路径,修改成服务器本身gzip路径  
  13. $MYSQLDUMP -u $db_user -h $db_host -p$db_passwd $db_name | $GZIP -9 > "$backup_dir/$db_name"_"$time.gz"  
  14. #备份主要命令,不要修改

按照以上说明进行适当修改,修改后,保存退出
然后加入计划,并设置每天执行一次即可实现自动备份功能了,具体操作如下:
[root@localhost /]crontab -e

在最后面,加入一行:
00 03 * * *  sh /mysql-backup.sh
#每天夜间3点执行/mysql-backup.sh此脚本
保存退出即可
 

[root@localhost /]# vi mysql-backup.shdb_user="root"db_passwd="123456"db_host="192.168.1.110"db_name="ecshop"# the directory for story your backup file.backup_dir="/backup"# date format for backup file (dd-mm-yyyy)time="$(date +"%Y-%m-%d-%H-%M-%S")"# mysql, mysqldump and some other bin's pathMYSQL="/usr/local/mysql/bin/mysql"MYSQLDUMP="/usr/local/mysql/bin/mysqldump"
GZIP="/bin/gzip"$MYSQLDUMP -u $db_user -h $db_host -p$db_passwd $db_name | $GZIP -9 > "$backup_dir/$db_name"_"$time.gz"