gpt4 book ai didi

MySQL 在 "rehash"命令上永远挂起

转载 作者:行者123 更新时间:2023-11-29 02:30:35 26 4
gpt4 key购买 nike

我们有一个运行着多个数据库的 MySQL 服务器,用于不同类型的数据。其中之一是 wordpress 数据库。

我可以连接正常,“显示数据库”,“使用苹果”,“使用橙子”等(用水果代替我们的实际数据库)但是当我“使用 wordpress”而不是“数据库已更改”时,我得到

Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

果然,如果我用一个额外的 -A 标志启动 mysql,一切似乎都能正常工作。然后我可以“使用 wordpress”并查看数据。

如果我用 -A 启动它并执行“使用 wordpress”它会起作用,然后我执行“重新哈希”并挂起。

有人看过吗?我该怎么办?

最佳答案

MySQL 命令行客户端提供数据库/表/列名补全:即当您开始输入名称并按Tab 时,名称补全。为此,客户端会构建一个数据库、表和列名称的哈希值,它会在您调用完成时查询这些名称。

如果命令行客户端以 auto-rehashing 启动启用后,它会在您连接到数据库时自动构建完成哈希,并使其保持最新。对于大型数据库,这可能需要一些时间。当使用 --no-auto-rehash (-A) 启动客户端时,不会构建散列,并且直到您手动构建散列(使用rehash\#)。这减少了启动时间,尤其是对于大型数据库。

因此,在大型数据库上散列需要相当长的时间是正常的。当您开始启用自动重新散列(即没有 -A,或者使用 -A 然后 rehash 时,这就是您似乎遇到的情况).对于小型数据库(applesoranges 在您的示例中)它并不明显,但对于大型数据库(wordpress)它很慢。我使用的一些替代方案:

  • 不要重复
  • 在构建哈希时喝杯咖啡
  • 使用可以更快完成的不同客户端

关于MySQL 在 "rehash"命令上永远挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13822724/

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