首页 > 数据库 >MYSQL数据库同步脚本 --仅供参考

MYSQL数据库同步脚本 --仅供参考

时间:2024-01-25 11:25:09浏览次数:28  
标签:-- 备份 DB user MYSQL BACKUP 仅供参考

 

 

备份同步数据 

#!/bin/bash

# 定义变量
user="root"
pass="un1ware"
host=""
file=$(date +"%Y-%m-%d") # 使用日期作为文件夹名称

# 获取主从状态信息
master_status=$(mysql --user="$user" --password="$pass" -h "$host" <<EOF
SHOW MASTER STATUS;
EOF
)

# 创建备份目录
mkdir "$file"

# 备份数据库
mydumper -u root -p un1ware123 -h xxxx -t 10 -v 3 -G -R -E -C -o -d "$file" &>> sqlbak.log

# 重置并启动从库
mysql --user="$user" --password="$pass" <<EOF
STOP SLAVE;
RESET SLAVE;
CHANGE MASTER TO MASTER_HOST='$host', MASTER_USER='$user', MASTER_PASSWORD='$pass',
    MASTER_LOG_FILE='$master_status', MASTER_LOG_POS=$(echo "$master_status" | awk '{print $2}');
START SLAVE;
EOF

# 检查从库状态
slave_status=$(mysql -uroot -pun1ware123 -e "SHOW SLAVE STATUS\G")

echo "$slave_status" | grep -E "Master|Slave|SQL|Relay"




 

 

数据备份

#!/bin/bash

# MySQL 用户名、密码及备份目录定义
MYSQL_USER="your_mysql_username"
MYSQL_PASS="your_mysql_password"
BACKUP_DIR="/path/to/backup/directory"

# 检查是否传入了至少一个库名参数
if [ $# -eq 0 ]; then
    echo "Usage: $0 database1 [database2 ...]"
    exit 1
fi

for DB in "$@"; do
    # 备份文件名格式:库名_当前日期时间.sql.gz
    BACKUP_FILE="$BACKUP_DIR/${DB}_$(date +'%Y%m%d%H%M%S').sql.gz"

    # 执行mysqldump并压缩备份文件
    mysqldump -u$MYSQL_USER -p$MYSQL_PASS --single-transaction $DB | gzip > $BACKUP_FILE

    # 输出备份状态信息
    echo "Database ${DB} backed up to ${BACKUP_FILE}"
done

# 检查备份目录权限,确保可写,并且执行完后清理临时文件等(根据实际情况调整)
if [ ! -w "$BACKUP_DIR" ]; then
    echo "Backup directory is not writable!"
    exit 1
fi

# 可以添加日志记录功能,如将备份结果输出到日志文件
echo "Backup script completed at $(date)" >> /path/to/backup/logfile.log

exit 0

 

这个是导出数据库的时候 写入日志 进度 

    mysqldump -u$MYSQL_USER -p$MYSQL_PASS --single-transaction $DB | gzip > $BACKUP_FILE |tee -a xxx.log

 

标签:--,备份,DB,user,MYSQL,BACKUP,仅供参考
From: https://www.cnblogs.com/JIKes/p/17986753

相关文章

  • 二进制序列
    二进制序列keyValue.serialize.pas///<author>cxg2023-8-16</author>///支持delphiandfpc.///支持linuxandwindows.///键-值数据序列:keyLen(integer)+keyName(rawbytestring)+valueLen(integer)+value///测试:d7~d11,lazarusunitkeyValue.serialize;in......
  • 记录uniapp开发第一次使用mumu模拟器运行调试
     1下载Mumu模拟器mumu.163.com/2点击安装,按步骤下一步安卓mumu模拟器3打开mumu多开器右上角adb查看端口号4打开mumu模拟器5打开hbuild5.1选择运行,运行到手机模拟器,Android模拟器端口设置,将你自己多开器查看的端口号输入进去 5.2运行配置选择你mumu模拟器安装文......
  • oracle PL/SQL基础介绍
    1.PL/SQL简介PL/SQL语言(ProceduralLanguage/SQL,过程化SQL语言)是Oracle推出的过程化的SQL编程语言,使用PL/SQL可以为SQL语言引入结构化的程序处理能力,例如可以在PL/SQL中定义常量、变量、游标、存储过程等,可以使用条件、循环等流程控制语句。PL/SQL的这种特性使得开发人员可以在......
  • 合合信息启信数据发布园区金融解决方案,助力银行精准服务“十四五”特色产业
    今年冬季寒潮频现,“尔滨”等冰雪之城却凭借着出色的文旅服务,接连火爆“出圈”。现阶段,作为传统工业基地的哈尔滨正积极向第三产业转型。文旅园区具备产业、技术、知识、劳动力密集属性和特定产业集群规模效应,是推动文化与创意设计的深度融合,促进区域产业结构转型升级的重要载体。......
  • CodeForces 1667E Centroid Probabilities
    洛谷传送门CF传送门首先需要了解重心的三种定义:删掉一个点后剩下子树大小\(\le\frac{n}{2}\)的点\(\sum\limits_{i=1}^n\text{dis}(u,i)\)最小的点最深的\(sz_u\ge\left\lceil\frac{n}{2}\right\rceil\)的点这道题我们使用第三种定义,也就是要统计\(i\)为最......
  • 管理员身份打开cmd
    1.win+R2.输入cmd 3.出现上图的弹出框后,按ctrl+shift+enter,打开后视图如下即成功打开  感谢参考文章【使用管理员权限打开cmd(命令提示符)的方法(Windows10)_命令提示符管理员-CSDN博客】该作者写了多种方法打开......
  • 为 WSL2 一键设置代理
    在WSL2环境中clone一个很大的git项目,不走代理速度很慢,所以研究了一下怎么让WSL2走Windows的代理客户端。WSL1和WSL2网络的区别在WSL1时代,由于Linux子系统和Windows共享了网络端口,所以访问Windows的代理非常简单。例如Windows的代理客户端监听了8000端......
  • GB/T 34131-2023《电力储能用电池管理系统》解读及测试实践
    新国标简介: GB/T34131《电力储能用电池管理系统》是规定了电力储能用电池管理系统的技术要求、试验方法、检验规则、标志、包装、运输与贮存要求的国家标准。随着我国储能行业的迅猛发展,国标也相应地进行系统性更新。 2023年10月1日,GB/T34131-2023《电力储能用电池管理系......
  • 2024-1-25axios错误处理
    目录axios错误处理axios错误处理该错误是当时在POST案例出现的,当提交过一次用户后再次提交出现了报错。场景:再次注册相同的账号,会遇到错误信息处理:用更直观的方式,给普通用户展示错误信息错误处理固定格式语法:在then方法的后面,通过点语法调用catch方法,传入回调函数error并定......
  • 火山引擎VeDI:新增微信小程序广告A/B实验功能,助力企业降低获客成本
    更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 近日,火山引擎数智平台VeDI旗下的A/B测试平台(DataTester)宣布推出一项创新的广告投放解决方案,这项能力让企业可以在微信小程序端进行广告A/B测试,以更科学、更精准地优化广告策略。此项......