linux自动备份mysql数据库

备份脚本记录一下–(单个数据库)

2021-11-15

1.新建shell脚本:vim **.sh

#!/bin/bashCKUP=/data/backup/db

#获取当前时间
DATETIME=$(date +%Y_%m_%d_%H%M%S)
#可以输出变量调试
echo $DATETIME

echo "========开始备份========="
echo "========备份路径 $BACKUP/$DATETIME.tar.gz========="

#主机
HOST=localhost

#用户名
DB_USER=root

#密码
DB_PASSWOLD=123456

#备份数据库名
DATABASE=aeaicrm

#创建备份路径,如果存在就使用,否则就创建
[ ! -d "$BACKUP/$DATETIME" ] && mkdir -p "$BACKUP/$DATETIME"

#执行MySQL的备份数据库指令
mysqldump $DATABASE | gzip > $BACKUP/$DATETIME/$DATETIME.sql.gz

#打包备份文件
cd $BACKUP
tar -zcvf $DATETIME.tar.gz $DATETIME

#删除临时文件
rm -rf $BACKUP/$DATETIME

#删除十天前的备份文件/【-exec rm -rf {} \;】--删除找到的文件
find $BACKUP -mtime +7 -name "*.tar.gz" -exec rm -rf {} \;

echo "=========备份文件成功========="
  1. 创建任务计划:

crontab -e

linux自动备份mysql数据库

3.问题记录

我的报错信息:

linux自动备份mysql数据库

解决:

修改配置文件my.cnf

添加:

[mysqldump]

User=root

Password=mypassword

保存退出.

Shell脚本不指定用户名跟密码:

linux自动备份mysql数据库

可能有更好的解决办法….

更新shell脚本—————(多个数据库)

2022-03-16

#!/bin/bash
#MySQL用户
user=test
#MySQL密码
userPWD=youpassword
需要定期备份的数据表的列表<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>List of data tables that need to be backed up regularly</font>*</details>
dbNames=(aeaicrm activiti chronicdisease lis oa)
每个备份数据都存储在该日期创建的文件夹中,同时删除过期的备份。<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>Each backup data is stored in a folder created on the date, while the expired backup is deleted.</font>*</details>
此处以保留1个月的备份数据为例
DATE=date -d "now" +%Y%m%d%H
ODATE=date -d "-1 month" +%Y%m%d%H
newdir=/home/backup_mysql/$DATE
olddir=/home/backup_mysql/$ODATE
删除过期备份数据
if [ -d $olddir ];
  then
    rm -rf $olddir
fi
创建新备份文件夹
mkdir $newdir
备份备份数据库列表中的所有数据库<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>Back up all databases in the backup database list</font>*</details>
for dbName in ${dbNames[*]}
do
  dumpFile=$dbName-$DATE.sql.gz
  mysqldump -u$user -p$userPWD $dbName | gzip > $newdir/$dumpFile
done

==============================分割线==========================================

mysqldump相关:

Mysqldump 命令只导出表结构或数据或数据和结构的方法

1. 备份数据库

mysqldump –opt -d 数据库名 -u root -p > xxx.sql

mysqldump DB_NAME >数据库备份名

mysqldump -A -uUSER_NAME -pPASSWORD DB_NAME>数据库备份名

mysqldump -d -A –add-drop-table -uroot -p >xxx.sql

2. 导出结构不导出数据

mysqldump –opt -d 数据库名 -u root -p > xxx.sql

3. 导出数据不导出结构

mysqldump -t 数据库名 -uroot -p > xxx.sql

4. 导出数据和表结构

mysqldump -uroot -p 数据库名 > xxx.sql

5. 导出特定表的结构

mysqldump -uroot -p -B 数据库名 –table 表名 > xxx.sql

6. 导入数据

mysqldump导出的是完整的SQL语句,所以用mysql客户程序就能把数据导入.

mysql 数据库名 < 文件名

或者

source /tmp/xxx.sql

Original: https://www.cnblogs.com/yaodun55/p/15555435.html
Author: 少年Dev
Title: linux自动备份mysql数据库

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/524363/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 性能瓶颈分析与调优

    对于性能测试,很多时候压力并不能完全到达服务端,在客户端、网络连接端都有可能被阻塞,或者压测的某些特征符合CC和DDoS的行为,触发了防护策略导致压测结果达不到预期。 以下是各节点…

    Linux 2023年6月8日
    0100
  • RPA工单查询和下载流程机器人

    bash;gutter:true;1、登录业务系统,输入用户名和密码2、进入下载模块3、输入下载查询条件4、进入文件明细单5、下载文件视频地址:https://www.bilibi…

    Linux 2023年6月7日
    0144
  • 【微服务】- Nacos-注册中心

    微服务 – 注册中心 – Nacos 😄生命不息,写作不止🔥 继续踏上学习之路,学之分享笔记👊 总有一天我也能像各位大佬一样🏆 一个有梦有戏的人 @怒放吧德…

    Linux 2023年6月6日
    0140
  • 软件工程 软件需求与软件需求规约 第1篇随笔

    2、软件需求与软件需求规约 1. 何为需求? 定义问题的基本要素是 “需求” 一个需求是一个有关”要予构造”的陈述,用以描述待开发产…

    Linux 2023年6月7日
    0100
  • 【转载】Springboot整合 一 集成 redis

    原文:http://www.ityouknow.com/springboot/2016/03/06/spring-boot-redis.html https://blog.csdn…

    Linux 2023年5月28日
    0110
  • shell 中使用 diff 比较两条命令的输出

    直接给出命令: diff <(command1) <(command2)< code></(command1)> 原理: 使用了进程替换的语法,…

    Linux 2023年6月14日
    094
  • docker search和pull超时

    练习时用docker查找镜像或者pull镜像时总是超时,折腾一圈发现是 时钟同步的问题,实验环境的时间偏差太大,重新同步一次就ok了。 #ntpdate cn.pool.ntp.o…

    Linux 2023年6月14日
    083
  • Harbor部署

    harbor 无论是使用Docker-distribution去自建仓库,还是通过官方镜像跑容器的方式去自建仓库,通过前面的演示我们可以发现其是非常的简陋的,还不如直接使用官方的D…

    Linux 2023年6月7日
    0106
  • shell bash-shell

    bash shell中的命令替换,cmd或者$(cmd)。 bash shell中的变量赋值,直接name = var; ( bash中的变量赋值不能中间有空格) 变量引用时,$n…

    Linux 2023年5月28日
    096
  • Linux CURL的安装和使用

    –获得安装包,从网上直接下载或者其他途径,这里直接wgetwget http://curl.haxx.se/download/curl-7.17.1.tar.gz&#8…

    Linux 2023年6月13日
    085
  • Optional 常用方法总结

    转载请注明出处: Optional 类是 JAVA 8 提供的判断程序是否为空提供的包装工具类;可以减少代码中的 是否为空的判断,以及减少 NullPointerException…

    Linux 2023年6月14日
    0120
  • shell order

    1,与 “-a” : a是and if [ 条件1 -a 条件2 ] ;then shell order shell order … fi 2,…

    Linux 2023年5月28日
    0105
  • SQL87 最差是第几名(一)

    本题链接表结构如下所示。 +——-+——–+| grade | number |+——-+&#8…

    Linux 2023年6月13日
    086
  • 在linux里部署OA项目环境

    1.首先要实现linux可以从windows系统里把文件拖到linux里 ①挂载光盘 [root@localhost ~]# mkdir /mnt/cdrom //创建挂载点 [r…

    Linux 2023年6月13日
    0123
  • 《拉钩课程 – 重学操作系统 – 计算机组成原理》

    1、芯片是怎么工作的呢?电能供给给芯片,芯片中的一种电子元件晶振(也就是石英晶体)通电后产生震荡,震荡会产生频率稳定的脉冲信号。通常这是一种高频的脉冲信号,每秒可达百万次。然后,我…

    Linux 2023年5月27日
    093
  • Spring常见异常说明

    文章要点 Spring bean 的声明方式 Spring bean 的注入规则 Spring bean 的依赖查找规则 Spring bean 的名称定义方式和默认名称规则 XX…

    Linux 2023年6月6日
    095
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球