【发布时间】:2010-09-21 03:27:18
【问题描述】:
有人知道是否有办法在 Windows 下的 MySQL 命令行客户端中实现自动完成功能?对我来说,它在 Linux 下运行良好,但只是在 Windows 下移动光标。
【问题讨论】:
标签: mysql windows mysql-management
有人知道是否有办法在 Windows 下的 MySQL 命令行客户端中实现自动完成功能?对我来说,它在 Linux 下运行良好,但只是在 Windows 下移动光标。
【问题讨论】:
标签: mysql windows mysql-management
它应该这样工作:
C:\> mysql --auto-rehash
或者配置你的my.cnf:
[mysql]
auto-rehash
编辑:我很抱歉。我发现一些参考资料表明 mysql 客户端中的制表符完成功能仅适用于 UNIX/Linux。它不适用于 Windows。
更新: 原因在 MySQL bug #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 产品提供了一个替代客户端,他们称为 mysqlc.exe,他们使用 Windows 上的 cygwin 工具集编译该客户端,但他们不再提供此功能。 cygwin 工具集包含 readline 库,因此可以编译支持制表符补全的mysqlc.exe 客户端。
所以理论上,如果你真的很勇敢,你可以下载包含 readline 库的 cygwin 工具集,然后下载 MySQL 源代码并使用 cygwin 构建它。然后你应该有一个可以执行tab-completion的mysql客户端程序。但即使对于熟悉从源代码构建 MySQL 的人来说,这听起来也需要做很多工作。
【讨论】:
这可能不是您想要的,但企业版 SQLYog 提供了一些有限的架构自动完成功能。
【讨论】:
如果上述方法不起作用并且您使用的是 widnows 10,您可以安装 linux shell,然后安装 mysql-client 并像在自动编译工作的 linux 终端中一样连接。
说明: https://docs.microsoft.com/en-us/windows/wsl/install-win10
【讨论】: