“使用”后 MySQL 数据库冻结

Mat*_*rth 22 mysql backup

我最近犯了一个相当愚蠢的错误并损坏了我的 Ubuntu 安装。为了解决这个问题,我用 live cd 启动并复制了数据库文件。但是,现在我已将旧安装中的文件夹复制到新安装中,每当我键入“use database_name”时,它都会冻结:

mysql> use my_database_name;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Run Code Online (Sandbox Code Playgroud)

然后在没有给出终端的情况下冻结。

Max*_*eul 33

在登录后的第一个“使用”命令中,MySQL 会扫描数据库、表和列名称以自动完成。如果你有很多数据库,表可能需要一段时间。

为避免这种情况,请使用 -A 选项(或 --no-auto-rehash)启动您的客户端

mysql -uroot -p -A
Run Code Online (Sandbox Code Playgroud)

如果您想完全禁用它,您还可以在my.cnf(在 [mysql] 部分)中添加disable_auto_rehash变量。此更改不需要重新启动(它是客户端,而不是服务器,变量)。