博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设置自动备份mysql数据库
阅读量:4557 次
发布时间:2019-06-08

本文共 2132 字,大约阅读时间需要 7 分钟。

设置自动备份mysql数据库

 
设置自动备份mysql数据库
低版本:
1.安装gzip工具
]# yum -y install gzip
2.在mysql中创建一个备份的用户
]# mysql -uroot -pMariaDB [(none)]> GRANT ALL ON zabbix.* TO beifenuser@localhost IDENTIFIED BY 'beifen321';MariaDB [(none)]> flush privileges;MariaDB [(none)]> exit;
3.创建一个存放备份的文件夹
]# mkdir -p /home/backup/mysql
4.创建一个备份的脚本
]# vi beifen.sh#!/bin/bash# 数据库信息DB_USER="backupuser"DB_PASS="backpass"DB_HOST="localhost"DB_NAME=(zabbix)   #需要备份的数据库名称,注意中间用空格隔开. # 其他设置BIN_DIR="/usr/bin"   # mysqldump命令执行路径BACK_DIR="/home/backup/mysql"    #备份目录,这里设为/home/backup/mysqlDATE=`date +%Y%m%d%H%M%S`       #显示备份时间,格式为20180808122556# 备份所有指定数据库for backdb in ${DB_NAME[@]}#也可以写成for eachdb in ${DB_NAME[*]}do$BIN_DIR/mysqldump --opt -u$DB_USER -p$DB_PASS -h$DB_HOST -B ${backdb} | gzip > $BACK_DIR/db_${eachdb}_$DATE.sql.gzdone# 删除5天之前的备份文件,但保留日期为1号的文件(用于手动删除)find $BACK_DIR/* -regextype "posix-extended" -not -regex ".*[0-9]{6}01[0-9]{6}\.sql\.gz$" -mtime +5 -exec rm {} \;
5.测试脚本
]# chmod 777 beifen.sh]# sh beifen.sh
高版本:
mysql备份报错:
mysqldump: Got error: 1045: Access denied for user 'root'@'localhost' (using password: NO) when trying to connect
在高版本中,是不允许使用明文密码备份的,所以我们需要修改下配置信息,并使用另一种命令格式备份
1.在mysql配置文件里添加下列几行配置信息
]# vi /etc/my.cnf[client]host=localhostuser=backupuserpassword=backpass
2.输入备份命令
]# mysqldump --defaults-extra-file=/etc/my.cnf 数据库名 > /home/backup/bak_test.sql
3.脚本
]# vi beifen.sh#!/bin/bash#数据库名称DB_NAME=(数据库名称1 数据库名称2)   #需要备份的数据库名称,注意中间用空格隔开. # 其他设置BIN_DIR="/usr/bin"   # mysqldump命令执行路径BACK_DIR="/home/backup/mysql"    #备份目录,这里设为/home/backup/mysqlDATE=`date +%Y%m%d%H%M%S`       #显示备份时间,格式为20180808122556# 备份所有指定数据库for backdb in ${DB_NAME[@]}#也可以写成for backdb in ${DB_NAME[*]}do$BIN_DIR/mysqldump --defaults-extra-file=/etc/my.cnf ${backdb} | gzip > $BACK_DIR/db_${eachdb}_$DATE.sql.gzdone# 删除5天之前的备份文件,但保留日期为1号的文件(用于手动删除)find $BACK_DIR/* -regextype "posix-extended" -not -regex ".*[0-9]{6}01[0-9]{6}\.sql\.gz$" -mtime +5 -exec rm {} \;
编辑定时任务
1.编辑自动定时任务
]# crontab -e0 16 * * 1 /home/beifen.sh       #设置为每周1执行备份
2.查看已经保存的定时任务
]# crontab -l0 16 * * 1 /home/beifen.sh
3.Crontab格式说明
 
 
 

转载于:https://www.cnblogs.com/lichunpeng/p/11237526.html

你可能感兴趣的文章
Unity学习笔记—— 常用脚本函数
查看>>
.getCellType()的几种类型值
查看>>
linux中启动 java -jar 后台运行程序
查看>>
运行web项目端口占用问题
查看>>
Java Spring-IOC和DI
查看>>
【NOIP1999】【Luogu1015】回文数(高精度,模拟)
查看>>
Linux上安装Python3.5
查看>>
crt安装
查看>>
git切换分支报错:error: pathspec 'origin/XXX' did not match any file(s) known to git
查看>>
c++中static的用法详解
查看>>
转 我修改的注册表,但是程序运行起来,还是记着以前的
查看>>
图片轮播功能
查看>>
第六周小组作业:软件测试和评估
查看>>
linux Cacti监控服务器搭建
查看>>
debian(kali Linux) 安装net Core
查看>>
centos 7防火墙设置
查看>>
自定义进度条(圆形、横向进度条)
查看>>
spark-streaming-kafka采坑
查看>>
9.Mongodb与python交互
查看>>
18-[JavaScript]-函数,Object对象,定时器,正则表达式
查看>>