mysql - 从 cygwin 连接到 mysql

我可以从 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

到配置文件。

https://stackoverflow.com/questions/329866/

相关文章:

mysql - 如何在 Sequel Pro 中执行查询?

mysql - MySQL 是否索引 NULL 值?

mysql - SQL 性能 UNION 与 OR

mysql - 如何在 bash 上运行 MySQL 命令?

mysql - 遇到需要满足多个条件的 MySQL Join 问题

mysql - MySQL中是否可以有基于函数的索引?

MySQL - 条件外键约束

sql - 单数还是复数数据库表名?

mysql - 总锁数超过锁表大小

mysql - 如何解决 "Error: MySQL shutdown unexpectedly"?