mysql - 从 cygwin 连接到 mysql

标签 mysql cygwin

我可以从 DOS 提示符成功连接到 MySQL,但是当我尝试从 cygwin 连接时,它只是挂起。

$/cygdrive/c/Program\ Files/MySQL/MySQL\ Server\ 5.1/bin/mysql -u root -p

怎么了?

最佳答案

我刚遇到这个,当我读到有人提到它是你在 cygwin 中运行的 windows/DOS 命令时,我做了一个 which mysql 并给了我:

$ which mysql
/cygdrive/c/Program Files/MySQL/MySQL Server 5.5/bin/mysql

所以我运行 cygwin Setup.exe 搜索“mysql”并安装了最新的“mysql 客户端”。现在 which mysql 看起来像:

$ which mysql
/usr/bin/mysql

并且 MySQL 命令在 cygwin 中工作 :)

虽然这是一个老问题,但如果能在这里得到实际答案会很好,因为人们(比如我自己)可能仍然会偶然发现它。

如果您尝试从 Cygwin 运行 MySQL 客户端返回以下错误:

$ mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysql.sock' (2)

然后您可以通过在命令行中添加显式 -h 127.0.0.1 选项来修复它,如下所示:

$ mysql -u root -p -h 127.0.0.1

基于评论的更新:

为避免每次连接时在命令行中指定-h 127.0.0.1,可以添加:

[client]
host=127.0.0.1

到文件/etc/my.cnf

在某些 Cygwin 安装中,使用 -h 指定主机可能还不够。如果是这样,请尝试同时指定:

--protocol=tcp

或添加

protocol=tcp

到配置文件。

关于mysql - 从 cygwin 连接到 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/329866/

相关文章:

cygwin - 是否有 GNU make 的 Cygwin 版本?

mysql - 计算出现次数

MySQL - IF 查询 STR_TO_DATE

mysql - 并发访问MySQL存储过程

c++ - 用 cygwin 瞄准 mingw

无法正确读取管道中的值

windows - Windows 上的 git svn rebase 问题

javascript - 使用 AJAX 按下复选框时发送 MySQL 查询

javascript - 如何在 javascript 警告框中显示 sql 错误消息?

bash - 如何继续重新启动 Windows cmd 提示符