码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • linux备份mysql8.0数据库脚本


    文章目录

    • 环境要求
    • 步骤
      • 1、创建一个.sh文件编写shell脚本
      • 2、添加定时任务

    环境要求

    linux系统,安装了mysql8.0

    步骤

    1、创建一个.sh文件编写shell脚本

    创建文件的命令:

    vim ***.sh
    
    • 1

    shell文件文件参考自文章
    链接

    export LANG=en_US.UTF-8
    #注意:下面这几个变量需修改为你自己的
    BackDir=/usr/local/mybackuptest/file
    LogFile=/usr/local/mybackuptest/log/bak.log
    DataBase=yqxpayment
    DataBaseUser=root
    DataBasePWD='43Wzao&xx3419'
    Port=3306
    Host=localhost
    
    #BackDir是否是目录
    if [ ! -d "$BackDir" ];then
    mkdir $BackDir
    fi
    #判断Logfile是否是文件
    if [ ! -f "$LogFile" ]; then
     touch "$LogFile"
    fi
    
    Date=`date +%Y%m%d_%H%M%S`
    Begin=`date +%Y%m%d_%H:%M:%S`
    #到备份目录下
    cd $BackDir
    #设置导出脚本名称
    DumpFile=dataBaseNme_$Date.sql
    #设置压缩包名称
    DumpFileZip=dataBase_$Date.sql.tgz
    #导出数据库数据
    mysqldump -u$DataBaseUser -p$DataBasePWD -P$Port -h$Host $DataBase > $DumpFile
    #压缩sql脚本
    tar -czvf $DumpFileZip $DumpFile
    #删除sql脚本
    rm $DumpFile
    
    #下面这一段是保留最近7天的数据
    count=$(ls -l  *.tgz |wc -l)
    if [ $count -ge 8 ]
    then
    file=$(ls -l *.tgz |awk '{print $9}'|awk 'NR==1')
    rm -f  $file
    fi
    
    Last=`date +"%Y%m%d_%H:%M:%S"`
    echo start:$Begin end:$Last $DumpFileZip succ >> $LogFile
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44

    原文章的脚本拿过来可能不能用,所以我又去研究了一下mysqldump命令后面跟的参数,发现可能是少了几个参数,加上之后发现确实可以
    下面解释一下各参数

    1. -P$Port:数据库端口,注意P是大写,小写是密码
    2. -u$DataBaseUser:用户名
    3. -p$DataBasePWD:密码
    4. -h$Host:主机地址
    5. $DataBase:数据库名
    6. $DumpFile:日志文件路径

    2、添加定时任务

    相关命令:
    查看定时任务

    crontab -l
    
    • 1

    在这里插入图片描述

    编辑定时任务

    crontab -e
    
    • 1

    在这里插入图片描述

    * * * * *  分别代表
    分 时 日 月 周 *代表每一个,
    比如每分钟表示为 * * * * *
    每两分钟表示为  */2 * * * *
    
    • 1
    • 2
    • 3
    • 4

    后面的路径为要执行的shell脚本路径
    注意要保证对shell脚本是有执行权限的
    没有的话就使用以下命令

    chmod 777 文件
    
    • 1

    数据库备份就写好了
    这次学习主要收获:
    1.了解了mysqldump方式的数据库备份(导出数据库)
    2.linux脚本简单编写

  • 相关阅读:
    华为OD机考算法题:篮球比赛
    python—进程总结
    python 网页爬虫,多任务下载
    软件工程毕业设计课题(84)微信小程序毕业设计PHP物业维修报修小程序系统设计与实现
    三年黑盒测试工程师对嵌入式软件测试的理解
    2022数学建模国赛A题思路建模/2022全国大学生数学建模A题思路建模/2022建模国赛A题思路模型/波浪能最大输出功率设计
    Flink Icerberg 离线数仓-项目准备(三)
    Unreal 和 Unity 3D 各有什么特点?如何选择?
    数据分表Mybatis Plus动态表名最优方案的探索
    14.7 Socket 循环结构体传输
  • 原文地址:https://blog.csdn.net/m0_53658634/article/details/127911628
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号