Drush无法通过WAMP上的套接字连接到本地MySQL

时间:2014-09-17 18:20:57

标签: mysql drupal cygwin wamp drush

*我在drupal.stackexchange上问了这个问题,但问题似乎与Cygwin和WAMP有关,所以我在这里重新发布。

尝试在Windows 7上的本地开发环境中设置Drush,并且无法正确配置MySQL。我通过Cygwin运行的测试命令产生的错误如下:

$ drush sql-query "SELECT * FROM erg_node WHERE nid=3"
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

我可以在phpmyadmin中运行相同的SQL语句,它运行正常。我可以使用远程站点运行相同的drush命令,它也可以工作,所以看起来它必须与MySQL如何配置WAMP和Cygwin相关。当我通过Cygwin检查which mysql时,我回到/usr/bin/mysql而不是WAMP的mysql的路径。但是WAMP mysql路径是在我的系统环境PATH变量中设置的,因此它应该是可访问的。

我尝试将my.ini更改为包含host = 127.0.0.1,将my.ini文件复制到/etc/my.cnf,然后运行chmod -R 755 /tmp/。 my.ini文件已包含socket = /tmp/mysql.sock,我尝试添加符号链接,即ln -s /cygdrive/c/wamp/tmp/mysql.sock /tmp/mysql.sock。任何帮助,将不胜感激。谢谢!

*编辑 - 上面的drush命令在Powershell中正确执行,因此问题似乎是Cygwin使用/usr/bin/mysql而不是WAMP mysql命令。有没有办法改变Cygwin使用的mysql命令?

1 个答案:

答案 0 :(得分:0)

必须将我想要使用的mysql版本的路径(WAMP版本)添加到我的.bash_profile中的PATH变量的开头,回想起来很明显! SO post关于.bash_profile中的PATH变量。