Shell脚本实现分库分表操作

这篇具有很好参考价值的文章主要介绍了Shell脚本实现分库分表操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一,分库备份

二,分库操作

三,分库分表备份

四,备份还原


一,分库备份

#!/bin/bash
mysql_cmd='-uroot -pzly666666'
bak_path=/backup/db
[ -d ${bak_path} ] || mkdir -p ${bak_path}


mysql ${mysql_cmd} -e 'show databases' -N | egrep -v 'sys|mysql|information_schema|performance_schema' > dbname

while read line
do
        mysqldump ${mysql_cmd} -B $line | gzip > ${bak_path}/${line}_$(date +%F).sql.gz

done < dbname
rm -rf dbname

Shell脚本实现分库分表操作,mysql,shell

二,分库操作

#!/bin/bash
mysql_cmd='-uroot -pzly666666'
bak_path=/backup/db
mysql -uroot -pzly666666 -e 'show tables from homework;' -N > tbname


#mysql ${mysql_cmd} -e 'show databases' | egrep -v 'sys|mysql|information_schema|performance_schema' > dbname

while read line
do
        [ -d ${bak_path}/homework ] || mkdir -p ${bak_path}/homework
        mysqldump ${mysql_cmd} homework $line | gzip > ${bak_path}/homework/homework_${line}_$(date +%F).sql.gz

done < tbname
rm -rf tbname

Shell脚本实现分库分表操作,mysql,shell

三,分库分表备份

#!/bin/bash
mysql_cmd='-uroot -pzly666666'
bak_path=/backup/db
exclude_db='sys|mysql|information_schema|performance_schema'


mysql ${mysql_cmd} -e 'show databases' -N | egrep -v ${exclude_db} > dbname

while read db
do
        [ -d ${bak_path}/$db ] || mkdir -p ${bak_path}/$db
        mysqldump ${mysql_cmd} -B $db | gzip > ${bak_path}/${db}/${db}_$(date +%F).sql.gz

        mysql ${mysql_cmd} -e "show tables from ${db};" -N > tbname
        while read tb
        do
        mysqldump ${mysql_cmd} $db $tb | gzip > ${bak_path}/${db}/${db}_${tb}_$(date +%F).sql.gz
done < tbname
done < dbname
rm -rf tbname
rm -rf dbname

 Shell脚本实现分库分表操作,mysql,shell

四,备份还原

Shell脚本实现分库分表操作,mysql,shell

Shell脚本实现分库分表操作,mysql,shell

 文章来源地址https://www.toymoban.com/news/detail-620071.html

zcat /backup/db/homework/homework_emp_2023-07-30.sql.gz | mysql -uroot -pzly666666 homework

到了这里,关于Shell脚本实现分库分表操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • shell脚本:数据库的分库分表

     

    2024年02月15日
    浏览(43)
  • 运维——编写脚本,使用mysqldump实现分库分表备份。

     编写脚本,使用mysqldump实现分库分表备份。 需要将 和 替换为您的 MySQL 用户名和密码,并将 替换为您希望保存备份文件的路径。 your_username your_password \\\"/path/to/backup\\\" 此脚本将遍历所有数据库和表,并使用 mysqldump 工具将每个表的数据导出到单独的备份文件中。备份文件的命

    2024年02月15日
    浏览(54)
  • mysql 分库分表实现思路

    MySQL的分库分表是一种常用的数据库拆分方案,它可以提高数据库的性能和扩展性。下面是一般的实现步骤: 数据库设计:首先,需要对数据库进行良好的设计。确定要分库分表的实体和关系,并根据业务需求进行合理的拆分。 数据切分策略:根据具体业务需求,选择适当的

    2024年02月10日
    浏览(71)
  • 04、MySQL-------MyCat实现分库分表

    https://www.cnblogs.com/zhangyi555/p/16528576.html 横向(水平)拆分 那如果把一张表中的不同的记录分别放到不同的表中,这种就是横向拆分。 横向拆分的结果是数据库表中的数据会分散到多张分表中,使得每一个单表中的数据的条数都有所下降。比如我们可以把不同的用户的订单分

    2024年02月07日
    浏览(40)
  • 在Centos7中利用Shell脚本:实现MySQL的数据备份

    目录 自动化备份MySQL 一.备份数据库脚本 1.创建备份目录   2.创建脚本文件 3.新建配置文件(连接数据库的配置文件) 4.给文件权限(mysql_backup.sh)      ​编辑           5.执行命令 (mysql_backup.sh)        ​编辑        二.数据库通过备份恢复    1.创建脚本文件 2.增加文件

    2024年02月03日
    浏览(42)
  • MySQL 实现分库和分表的备份 2023.7.29

     

    2024年02月15日
    浏览(51)
  • 分库分表之基于Shardingjdbc+docker+mysql主从架构实现读写分离 (三)

            本篇主要说明:                 1. 因为这个mysql版本是8.0,所以当其中一台mysql节点挂掉之后,主从同步,甚至双向数据同步都失效了,所以本篇主要记录下当其中的节点挂掉之后如何再次生效。 另外推荐大家使用mysql5.7的版本,这样当其他节点失效后就不

    2024年02月14日
    浏览(39)
  • 分库分表之基于Shardingjdbc+docker+mysql主从架构实现读写分离(二)

            说明:如果实现了docker部署mysql并完成主从复制的话再继续,本篇文章主要说明springboot配置实现Shardingjdbc进行读写分离操作。 如果没实现docker部署mysql实现主从架构的话点击我 application.yml配置设置连接池全局属性 shardingjdbc读写分离配置(qiyu-db-sharding.yaml) 同时这

    2024年02月15日
    浏览(41)
  • linux shell脚本操作日期记录

    最近碰到个需求,按日导出每日的数据,然后导入另一个数据库。需要写个日期相关的脚本。这里总结下 运行情况如下: 分别设想了三种情况 1、从某日到某日 2、从当前日期往前推N天 3、从某个日期到当前日期 plus:chatgpt是个写脚本是个好帮手

    2024年02月17日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包