11

有人知道是否有办法让自动完成在 Windows 下的 MySQL 命令行客户端中工作?对我来说,它在 Linux 下运行良好,但只是在 Windows 下移动光标。

4

3 回答 3

19

它应该这样工作:

C:\> mysql --auto-rehash

或者配置你的 my.cnf:

[mysql]
auto-rehash

编辑: 我很抱歉。我发现一些参考资料表明 mysql 客户端中的制表符完成功能仅适用于 UNIX/Linux。它不适用于 Windows。

更新:在 MySQL错误 #4731 中简要提到了这个原因:

[2004 年 7 月 31 日 12:47] 谢尔盖 Golubchik

我刚刚下载了 4.0.15 - mysql.exe 中的命令完成没有按预期工作。它从未在 mysql.exe 中工作,因为我们无法使 readline 用 VC++ 编译。

mysqlc.exe 是一个 cygwin 构建,它与 readline 链接。

说明: GNU readline是一个用于处理用户输入的标准开源库。MySQL 团队使用 readline 库,但他们不是它的作者。从上面的评论中,我了解到他们在 Windows 上使用 Microsoft Visual C++(他们用来构建 MySQL 产品的工具)编译 readline 库是不成功的。一些开源项目尚未完全兼容 Microsoft Windows 环境。

过去,MySQL 产品提供了一个他们称为 的替代客户端,他们使用 Windows 上的cygwinmysqlc.exe工具集编译该客户端,但他们不再提供此功能。cygwin 工具集包含 readline 库,因此可以编译支持制表符补全的客户端。mysqlc.exe

所以理论上,如果你真的很勇敢,你可以下载包含 readline 库的 cygwin 工具集,然后下载 MySQL 源代码并使用 cygwin 构建它。然后你应该有一个可以执行tab-completion的mysql客户端程序。但即使对于熟悉从源代码构建 MySQL 的人来说,这听起来也需要做很多工作。

于 2008-11-06T18:24:56.030 回答
1

这可能不是您想要的,但企业版 SQLYog 提供了一些有限的模式自动完成功能。

于 2008-11-06T23:01:15.253 回答
1

如果上述方法不起作用并且您使用 widnows 10,则可以安装 linux shell,然后安装 mysql-client 并在自动编译工作的 linux 终端中进行连接。

说明: https ://docs.microsoft.com/en-us/windows/wsl/install-win10

于 2018-02-15T11:44:08.303 回答