【问题标题】:How to dump remote mysql database and import it locally using bash script如何使用 bash 脚本转储远程 mysql 数据库并在本地导入
【发布时间】:2015-04-10 19:23:26
【问题描述】:

尝试使用该 shell 脚本转储远程 wordpress 数据库:

db_name=$(php -r 'include("public_html/local-config.php");echo DB_NAME;');
db_user=$(php -r 'include("public_html/local-config.php");echo DB_USER;');
db_password=$(php -r 'include("public_html/local-config.php");echo DB_PASSWORD;');
db_host=$(php -r 'include("public_html/local-config.php");echo DB_HOST;');
mysqldump --user="$db_user" --password="$db_password" "$db_name";

要在本地进行转储,我在本地终端(.ssh/config 中的主机)中运行它:

ssh host 'bash -s' < thatscript.sh > dump.sql

然后我会做mysql localdb &lt; dump.sql 将其导入本地。

现在我尝试将 ssh 和本地 mysql 部分也放入脚本中,这样我就可以启动脚本并执行所有操作。

我试图将原始脚本放入一个函数中,然后使用它调用它

mysql localdb < $(ssh host 'bash -s' < myDumpFunction)

但这假定一个名为 myDumpFunction 的文件显然不起作用。在这种情况下我将如何正确调用该函数?

对于如何为本地开发系统实现单行数据库同步的任何其他想法也表示赞赏。

【问题讨论】:

    标签: mysql bash function ssh remote-server


    【解决方案1】:

    如何编写另一个 .sh 文件并使用 ssh 连接启动它?不要忘记更改 chmod。脚本应该是可执行的。

    示例:

    ssh username@ipaddr(remotePc) start.sh
    

    【讨论】:

    • 我确实考虑过这一点,但后来我有两个脚本在做一项工作。这对我来说似乎不是很优雅,这就是为什么我想知道如何在一个脚本中做到这一点。
    • 这样你就可以使用暴发户功能了。但我总是使用这样的解决方案,因为它在使用 ssh 连接或远程工作时非常有用且实用。
    • @mcnesium 如果此解决方案有效,请点击为其他用户解决
    • 谢谢你的提醒,但正如我已经说过的,你的回答并不适合我的问题,对不起。
    猜你喜欢
    • 2011-04-23
    • 1970-01-01
    • 2016-11-28
    • 2017-03-16
    • 1970-01-01
    • 2021-06-25
    • 2013-08-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多