gpt4 book ai didi

python - Django shell(plus) 远程数据库连接超时

转载 作者:行者123 更新时间:2023-11-29 12:10:55 25 4
gpt4 key购买 nike

我正在将旧数据库迁移到我在本地运行的一堆模型中。我连接到旧数据库并运行检查数据库来重新创建模型。现在,我正在编写函数来将众多字段与新模型中的等效字段配对。我一直在使用 shell_plus,查询的第一分钟左右进展顺利,但我的连接总是超时具有以下内容:

RemoteArticle.objects.using("remote_mysql").all()    
django.db.utils.OperationalError: (2013, 'Lost connection to MySQL server during query')

是否有一个命令我可以运行 a) 在运行查询之前重新连接到数据库(这样我就不必重新打开 shell_plus),或者理想情况下 b) 使我的所有查询每次都自动重新连接我运行它们?

我在其他平台上看到过超时问题,但我不确定 Django 是否有处理此类问题的内置方法。

谢谢!

最佳答案

有一个page in the MySQL关于此的文档。由于您显然正在尝试迁移大型数据库,因此这部分可能适用于您:

Sometimes the “during query” form happens when millions of rows are being sent as part of one or more queries. If you know that this is happening, you should try increasing net_read_timeout from its default of 30 seconds to 60 seconds or longer, sufficient for the data transfer to complete.

超时是有道理的,因为 all() 只是检索所有行的一个查询。因此,在每次查询之前重新连接并不是解决方案。如果更改 net_read_timeout 不可行,您可能需要考虑分页。

关于python - Django shell(plus) 远程数据库连接超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30715378/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com