当前位置: 首页 > wzjs >正文

上海公司招聘信息江西seo推广

上海公司招聘信息,江西seo推广,网站怎么做图片轮播,内容管理系统开源数据备份&还原 说明执行db_backup_cover.sh脚本 说明 经历实操,值得信耐,有事留言 来源数据库,服务器A 目标数据库,服务器B 来源库、目标库的ip、port及执行路径写在单独的dbInfo.sh脚本中 # MySQL 客户端和 mysqldump 的路…

数据备份&还原

  • 说明
  • 执行
  • db_backup_cover.sh脚本

说明

  • 经历实操,值得信耐,有事留言

  • 来源数据库,服务器A

  • 目标数据库,服务器B

  • 来源库、目标库的ip、port及执行路径写在单独的dbInfo.sh脚本中

    # MySQL 客户端和 mysqldump 的路径
    MYSQL_CLIENT="/work/oracle/mysql-8.4.4/bin/mysql"
    MYSQL_DUMP="/work/oracle/mysql-8.4.4/bin/mysqldump"# 源数据库信息
    source_ip="17.2.10.166"
    source_port="3308"# 目标数据库信息
    target_ip="17.2.10.167"
    target_port="3308"
    
  • 备份导出&连接目标数据库&执行source ,写在db_backup_cover.sh脚本中

    • 脚本执行过程中,需要手动输入账户
    • 脚本执行过程中,需要手动确认是否执行下一步
    • 如果数据量大,执行source会花费些时间,命令行短时间没响应
    • 大家可以可以自己优化,因为这个脚本,也是只智能反复优化出来的

执行

在这里插入图片描述

db_backup_cover.sh脚本

#!/bin/bash# 备份文件名
current_date=$(date +%F)
system_ip=$(hostname -I | awk '{print $1}')  # 获取系统的主IP地址# 加载配置文件
if [ -f "dbInfo.sh" ]; thensource dbInfo.sh
elseecho "配置文件 config.sh 不存在!"exit 1
fi# 打印配置文件中的变量值
echo "--------------------------------------------------"
echo "配置文件变量:"
echo "MySQL 客户端路径: ${MYSQL_CLIENT}"
echo "mysqldump 路径: ${MYSQL_DUMP}"
echo "源数据库 IP: ${source_ip}"
echo "源数据库端口: ${source_port}"
echo "目标数据库 IP: ${target_ip}"
echo "目标数据库端口: ${target_port}"
echo "--------------------------------------------------"# 函数:等待用户确认
wait_for_confirmation() {read -p "请输入 yes 继续或 no 取消: " confirmif [ "$confirm" != "yes" ]; thenecho "操作已取消。"unlock_tablesexit 1fi
}# 函数:解锁数据库
unlock_tables() {echo "正在解锁数据库..."${MYSQL_CLIENT} -h "${source_ip}" -P "${source_port}" -u "${source_user}" -p"${source_password}" -e "UNLOCK TABLES;"if [ $? -ne 0 ]; thenecho "解锁数据库失败!"elseecho "数据库已解锁。"fi
}# 输入源数据库用户名和密码
read -p "请输入源数据库用户名: " source_user
read -s -p "请输入源数据库密码: " source_password
echo# 1. 锁定数据库
echo "准备执行 FLUSH TABLES WITH READ LOCK 锁定数据库..."
wait_for_confirmation${MYSQL_CLIENT} -h "${source_ip}" -P "${source_port}" -u "${source_user}" -p"${source_password}" -e "FLUSH TABLES WITH READ LOCK;"
if [ $? -ne 0 ]; thenecho "锁定数据库失败!"exit 1
fi
echo "数据库已成功锁定。"# 2. 备份Dev数据表及数据
echo "准备开始备份Dev数据..."
wait_for_confirmationbackup_file="/home/sie-srmdb-${source_port}-${system_ip}-${current_date}.sql"${MYSQL_DUMP} -h "${source_ip}" -P "${source_port}" -u "${source_user}" -p"${source_password}" \
--single-transaction \
--quick \
--add-drop-table \
--set-gtid-purged=OFF \
--compression-algorithms=zlib \
--ignore-table=db-dev.operate_logs \
--ignore-table=db-dev.test_view \
--databases db-dev > "${backup_file}"# 检查备份是否成功
if [ $? -ne 0 ]; thenecho "备份Dev数据失败!"unlock_tablesexit 1
fi
echo "备份Dev数据完成,文件已保存到: ${backup_file}"# 此时不解锁数据库,以便建立复制关系
echo "数据库保持锁定状态,以便建立复制关系。"# 准备目标数据库信息
echo "备份成功,准备登录目标数据库进行数据覆盖。"
read -p "请输入目标数据库用户名: " target_user
read -s -p "请输入目标数据库密码: " target_password
echo
read -p "执行前请再次确认,输入 yes 继续: " confirm
if [ "$confirm" != "yes" ]; thenecho "操作已取消。"unlock_tablesexit 1
fi# 登录目标数据库并切换数据库
echo "准备登录目标数据库并切换数据库..."
wait_for_confirmation# 登录目标数据库并切换数据库
# 在  << EOF 和 EOF  之间的内容将作为 mysql 客户端的输入,即要执行的 SQL 命令
read -p "请输入要切换的数据库名: " target_db
${MYSQL_CLIENT} -h "$target_ip" -P "$target_port" -u "$target_user" -p"$target_password" << EOF
USE $target_db;
SOURCE $backup_file;
EOFif [ $? -ne 0 ]; thenecho "切换数据库或执行 source 命令失败!"unlock_tablesexit 1
fi
echo "数据库切换成功且备份数据已导入到目标数据库。"echo "操作完成!数据库保持锁定状态,记得在建立好复制关系后手动解锁。"
http://www.dtcms.com/wzjs/363473.html

相关文章:

  • 网站建设一点通南昌seo计费管理
  • 大港做网站公司上海网站推广广告
  • 商城网站现在可以做么站长之家权重查询
  • 免费做链接的网站公司推广渠道
  • 怎样做网站的优化排名如何做自己的网站
  • 做跨境都有哪些网站进行网络推广
  • 杭州做网站哪家好seo快速排名上首页
  • 专业企业展厅设计公司seo常用的工具
  • 东莞知名企业排名宁波谷歌seo推广公司
  • 长沙长沙h5网站建设谷歌排名优化入门教程
  • 台州做微网站网络营销推广方案范文
  • 长宁网站建设seo渠道
  • 做网站用什么源码最好如何优化网站首页
  • 怎么样网站开源seo为什么要进行外部优化
  • 北京做网站公司有哪些百度搜索排名怎么靠前
  • shopify做国内网站咸阳网站建设公司
  • 论坛网站开发教程网络营销模式有哪些
  • 中国平安网站建设深圳货拉拉
  • 做网站用的背景图微信营销号
  • 吉林松原疫情最新消息seo查询网站是什么
  • 青锐成长计划网站开发人员菏泽资深seo报价
  • 微信公众号微网站建设sem竞价推广代运营
  • 网站建设佛网店运营推广中级实训
  • 工信部网站备案修改公众号推广合作平台
  • web界面模板深圳优化公司义高粱seo
  • 单页网站怎么制作山东seo多少钱
  • 公司网站搜索优化链接购买平台
  • 请人做网站要多少钱最新的销售平台
  • 微信模板图片东莞优化seo
  • 推广公司的新产品英文深圳网站seo哪家快