【问题标题】:How do I perform "mysqldump" from within Python?如何在 Python 中执行“mysqldump”?
【发布时间】:2012-07-26 16:12:08
【问题描述】:

我想使用第三台服务器将 MySQL 数据库的内容从一台服务器复制到另一台服务器。这可以使用以下命令从 shell 提示符完成:

mysqldump --host=hostname1 --user=username --password="mypwd" acme | mysql --host=hostname2 --user=username --password="mypwd" acme

但是,如何在不使用 os.system 或任何其他子流程方法的情况下从 Python 脚本中执行此操作?我已经阅读了MySQLdb docs,但没有看到批量导出/导入的方法。谢谢!

【问题讨论】:

  • 这似乎是一个任意限制。其背后的逻辑是什么?
  • 无法掏空的背后?因为我不能保证 MySQL 客户端工具会安装在用于进行传输的机器上。
  • 但是你能保证mysql-python会安装吗?这至少需要客户端库。

标签: python mysql mysqldump mysql-python


【解决方案1】:

如果您不想从命令行使用 mysqldump(使用 os.system 方法),您可能会直接从 MySQL 获取数据,然后将其放到另一台服务器上。在这方面,您的问题与Get Insert Statement for existing row in MySQL

非常相似

您可以使用查询来获取架构创建 sql

SHOW CREATE TABLE MyTable;

然后你需要实现一个只查询数据并将其插入到其他服务器的脚本。

您还可以研究允许您将数据从一个数据库复制到另一个数据库的第三方应用程序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-22
    • 1970-01-01
    • 2012-03-06
    • 1970-01-01
    相关资源
    最近更新 更多