mysql - 从远程服务器获取数据库并在本地部署的脚本
问题描述
我想使用一个脚本来从远程服务器获取我的数据库并在本地自动部署。所需的算法:
- 获取基地
- 删除之前的
drop database localDbName
- 创建一个新的
create database localDbName
- 展开我的转储
use localDbName; source / var / www / html / TEST $ currentDate.sql
我试图用 bash 来实现它,但它没有用。在最后一步,脚本停止工作,术语停止等待输入。
告诉我如何解决它。或者建议使用 bash 或其他语言的工作脚本
##!/bin/sh
remoteDbUser="remoteDbUser"
remoteDbName="remoteDbName"
localDbName="localDbName"
localPort="3306"
currentDate=$(date +%Y-%m-%d_%H-%M)
ssh test@123.123.123.123 -p 123 "mysqldump -v --insert-ignore --skip-lock-tables --single-transaction=TRUE -u $remoteDbUser -p $remoteDbName" > /var/www/html/TEST$currentDate.sql
mysql -uroot -proot -h127.0.0.1 --port="$localPort" -e"source /var/www/html/TEST$currentDate.sql" --show-warnings $localDbName;
解决方案
推荐阅读
- javascript - JavaScript 中的数组解构
- python - 从 GRPC Python 服务器发回文件流
- angularjs - 通过在angularjs中动态更改轮播的ID名称
- r - 我的 ggplot 图表首先显示 2018 年,然后是 2017 年的数据。我想重新排序
- sql - 水晶报表中的条件总和?
- android - 为什么在我第一次单击按钮时在我的 RecyclerView 中调用绑定?
- php - 通过 PHP 中另一个函数的结果调用函数
- r - 如何在 R 中读取 HDF4 格式的 Cloudsat 数据
- python - 使用 python 脚本从数据库中选择值时,行数始终打印为 -1
- android - 如何以编程方式共享来自 Android 应用程序的特定 1 卡活动视图,例如 Google Analytics 应用程序