python - 将不同服务器上的 MySQL Server 数据库中的表复制到我的计算机

标签 python mysql database ssh

我需要使用大学服务器上的数据库表作为项目的测试数据。 我对数据库和 MySQL 很陌生。我的教授已将服务器的用户名和密码发送给我。以及 MySQL 服务器的额外用户名和密码。 我花了一段时间,但最后我能够通过 ssh 连接到服务器,然后设法导航到 $cd/$cd usr/bin/MySQL 然后登录并在其中一个表中找到数据/句子数据库。

现在有一个问题:如何获取计算机上的数据?我想到了一个 python 脚本。但是我不能写一个脚本什么在不同的服务器上登录然后导航到 MySQL 文件夹登录那里以某种方式将表中的句子复制到我可以使用的 txt 文件?

最佳答案

您可以使用 mysqldump程序(如果它在你的机器上可用)来获取你需要的表的转储。

如果你想将转储作为 SQL,以便你可以将它插入到你自己的数据库中,你可以调用它

mysqldump -u "USERNAME" -p "PASSWORD" -h "HOSTNAME" "DATABASE" "TABLE" > dump.sql

强烈建议省略密码,这样您的密码就不会保存在 shell 历史记录中。在执行过程中会提示您输入它。

您将获得一个包含所有 SQL 查询的文件以重新创建此表。 您还可以将该表中的数据导出为 CSV 或 XML,具体取决于调用时使用的参数。

如果数据库服务器只能从您提到的第二台服务器访问,但您可以通过 ssh 访问这台服务器,那么您可以尝试调用

ssh USER@HOST 'mysqldump --version'

希望为您呈现类似于此的输出:

mysqldump  Ver xx.yy Distrib x.y.z, for debian-linux-gnu (x86_64)

如果是这样,你就会知道安装了这个程序,你可以使用下面这行

ssh USER@HOST 'mysqldump -u "USERNAME" -p "PASSWORD" -h "HOSTNAME" "DATABASE" "TABLE"' | cat > dump.sql

这应该会在您的本地计算机上显示转储。

关于python - 将不同服务器上的 MySQL Server 数据库中的表复制到我的计算机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53558775/

相关文章:

mysql - 连接事务表创建事务语句

python - 高斯差分滤波 (DoG) 未给出预期结果

python - 在 Python 中使用 matplotlib 转换数组列表以进行绘图

mysql - 应用mysql条件

mysql - 如何根据其他表中的列检索行

java - 如何删除字段大于 24 小时的行

python - 如何在pyQt5中接收ActiveX事件?

python - 从另一个通用 lambda 参数推断通用 lambda 参数

MYSQL 线程限制

database - Node 应该在什么时候创建数据库连接?