sách gpt4 ai đã đi

mysql - 将 mysqldump 自动化到本地 Windows 计算机

In lại 作者:可可西里 更新时间:2023-11-01 10:35:39 28 4
mua khóa gpt4 Nike

我正在尝试在 Windows 上使用 plink 创建到 Linux 机器的隧道,并让转储文件最终出现在 Windows 机器上。看起来 this answer会工作,是我的问题的基础。但是尝试一下并查看其他答案,我发现转储文件仍在 Linux 机器上。在转向生产之前,我正在使用 Windows 和 Ubuntu 14.04 在我的本地环境中进行尝试。在 Windows 8.1 中:

 plink sam@192.168.0.20 -L 3310:localhost:3306

mysqldump --port=3310 -h localhost -u sam -p --all-databases > outfile.sql

我已经尝试在第二个中将 localhost 替换为 127.0.0.1,将 -N 添加到隧道设置的尾部,使用转储命令中的一个表,但尽管有我的隧道,但好像第一个命令被忽略了。其他答案表明向脚本添加更多命令,以便我可以使用 pscp 复制文件。这也意味着重新连接到垃圾这个 outfile.sql。不适合在其他服务器上获取其他转储。如果是这样,为什么还要使用第一个命令?

我忽略了什么?在 plink 中,第一个输出是打开 Linux 服务器,我可以在其中运行 mysqldump 命令。但是似乎忽略了第一个命令。你怎么看?

1 Câu trả lời

您有多种选择:

  • 将数据库远程转储到远程文件,然后将其下载到您的机器上:

    plink sam@192.168.0.20 "mysqldump -u sam -p --all-databases > outfile.sql"
    pscp sam@192.168.0.20:outfile.sql .

    重定向 > 在引号内,因此您将远程计算机上的 mysqldump 重定向到远程文件。

    这可能是最简单的解决方案。如果您在下载前压缩转储,速度会更快,尤其是当您通过慢速网络连接时。

  • 远程执行 mysqldump,但在本地重定向其输出:

    plink sam@192.168.0.20 "mysqldump -u sam -p --all-databases" > outfile.sql

    请注意,与前一种情况相比,重定向 > 在引号之外,因此您正在重定向 plink 的输出,即远程 shell 的输出,其中包含远程 mysqldump 的输出。

  • 到远程 MySQL 数据库的隧道连接,并使用本地安装的 MySQL (mysqldump) 在本地转储数据库:

    plink sam@192.168.0.20 -L 3310:localhost:3306

    在单独的本地控制台 (cmd.exe) 中:

    mysqldump --port=3310 -h localhost -u sam -p --all-databases > outfile.sql

    在这种情况下,没有任何东西在远程运行(隧道末端除外)。

关于mysql - 将 mysqldump 自动化到本地 Windows 计算机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28461841/

28 4 0
可可西里
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com