我刚刚在WinXP上安装了MySQL 5.5.27。当我打开命令提示符(开始 - >运行,并键入“cmd”)时,我可以通过运行“mysql -u root -p”来访问MySQL。但是,当我打开Cygwin终端并尝试相同的操作时,我收到此错误
$ mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysql.sock' (2)
确实,没有“/var/run/mysql.sock”文件。
答案 0 :(得分:24)
如果在命令行中指定主机,则此问题应该消失:
mysql -u root -p -h 127.0.0.1
您还可以创建mysql将使用的my.ini
:
echo [client] >c:\my.ini
echo user=root >>c:\my.ini
echo host=127.0.0.1 >>c:\my.ini
然后你可以输入:
mysql -p
您甚至可以添加密码:
echo password="abracadabra" >>c:\my.ini
然后,输入:
mysql
你进来了!
答案 1 :(得分:7)
尝试将此添加到您的命令中:
-h 127.0.0.1
问题是mysql客户端默认主机是localhost,它使用unix套接字专门处理localhost,该套接字通过该文件访问,但是你的服务器可能没有配置为监听unix套接字。
但是,如果您通过环回IP 127.0.0.1访问同一服务器,它将使用TCP套接字而不是unix套接字(假设服务器在线)它应该可以工作。
答案 2 :(得分:1)
只是为了节省一些关键任务,
在〜/ .bashrc文件中添加以下别名。
alias mysql='mysql -u root -h 127.0.0.1'
添加此内容后,您只需在终端中输入“mysql”即可。你去了mysql里面。
答案 3 :(得分:0)
根据Rafael Hart的说法,我在我的电脑上成功地在Cygwin中安装了MySQL。我创建了一个数据库并执行了一些查询,一切都很好。 第二天,当我尝试登录MySQL时,出现错误:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysql.sock' (111 "Connection refused")
显然,当您关闭PC时,服务也会关闭,并且不会在启动时重新启动。 为了解决这个问题,我输入以下命令来重启mysqld服务:
$ mysqld_safe &
然后一切都开始了。
答案 4 :(得分:-1)
以下是如何从cygwin
运行MySQL
转到此处:
https://cygwin.rafaelhart.com/setting-up-mysql-on-cygwin/
要开始mysql_install_db
设置,请运行以下命令:
mysqld_safe
运行mysql - 如果激活它,您将从Windows获得防火墙警报。
mysql_secure_installation
&紧接着,运行以下内容是明智的:
disabled