码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 编写shell脚本,利用mysqldump实现MySQL数据库分库分表备份


     查看数据和数据表

    mysql -uroot -p'123456' -e 'show databases'

     mysql -uroot -p'123456' -e 'show tables from cb_d'

    删除头部Database和数据库自带的表

    mysql -uroot -p'123456' -e 'show databases' -N | egrep -v "information_schema|mysql|performance_schema|sys"
    

     编写脚本

    1. #!/bin/bash
    2. #********************************************************************
    3. #Author: cb
    4. #Date: 2023-11-02
    5. #FileName: cbmysql.sh
    6. #Description: The test script
    7. #********************************************************************
    8. #除去系统自带的库以外,再将存在的数据库名分别保存到dbname文件中
    9. mysql -uroot -p'123456' -e 'show databases' -N | egrep -v 'information_schema|mysql|performance_schema|sys' > dbname
    10. # 判断是否有/backup/db目录,没有则创建
    11. [ -d /backup/db ] || mkdir -p /backup/db
    12. #一行一行读取dbname中的库名,然后开始备份数据库,进而分别备份数据库中的表
    13. while read line
    14. do
    15. #备份数据库
    16. mysqldump -uroot -p'123456' -B $line | gzip > /backup/db/${line}_$(date +%F).sql.gz
    17. #分别将数据库中的表名保存到tbname文件中
    18. mysql -uroot -p'123456' -e "show tables from $line" -N > tbname
    19. #判断是否有/backup/db/$line目录,没有则创建
    20. [ -d /backup/db/$line ] || mkdir /backup/db/$line
    21. #读取tbname中的表名,备份数据表
    22. while read line2
    23. do
    24. #备份数据表
    25. mysqldump -uroot -p'123456' $line $line2 | gzip > /backup/db/$line/${line2}_$(date +%F).sql.gz
    26. done < tbname
    27. done < dbname

    检查脚本运行备份数据库

    tree /backup/db
    

    分表分库备份成功

    还原检测

    删除数据库并查看库

     mysql -uroot -p'123456' -e 'drop database cb_d'
    mysql -uroot -p'123456' -e 'show databases'

    开始还原

    使用备份的库进行还原,由于是压缩文件,使用压缩还原

    gunzip < /backup/db/cb_d_2023-11-02.sql.gz | mysql -uroot -p'123456' -B

    查看数据库

     

  • 相关阅读:
    Windows与网络基础-23-传输介质-双绞线
    因为写保护,U盘会“假死”。如何在Windows 10上删除写保护
    怎样翻译文本?这三种翻译方法我经常使用
    关系数据库设计规范化
    【业务功能篇93】微服务-springcloud-多线程-异步处理-异步编排-CompletableFutrue-实战运用
    Idea新建项目配置Java3D 环境配置
    MySQL基本概念与基本指令
    React 中的重新渲染
    [附源码]Python计算机毕业设计Django网咖管理系统
    深入理解 Nginx 的负载均衡与反向代理
  • 原文地址:https://blog.csdn.net/MorningStar_cao/article/details/134191755
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号