'mysql'命令不从PATH连接使用,但在使用完整path时工作

不知道如何解决这个问题,但这是描述。 我可以运行命令到这样一个Lampstack MySQL安装,它的工作原理:

/opt/lampstack/mysql/bin/mysql -u root -p 

而我的PATHvariables有这个path,但是这个命令不起作用:

 mysql -u root -p 

给出这个错误:

错误2002(HY000):无法通过套接字'/var/run/mysqld/mysqld.sock'连接到本地MySQL服务器(2)

该命令要求input密码,但会出现错误。

我还应该注意,运行phpMyAdmin在localhost:9090上正常工作并且密码正确。

据推测,有两个MySQL安装变得困惑,因为我可以用--version运行每个命令,我得到两个发行版:5.5.32和5.5.21。

这是一个问题,因为我试图使用Django项目的Lampstack MySQL安装。 我有这个configuration在Windows上运行,但为了尝试在Ubuntu上复制环境,我已经有点混淆了。

解决这个问题的最好方法是不删除Ubuntu系统上的核心MySQL(并使用Lampstack)?

注意

我发现/var/run/mysqld/mysqld.sock实际上并不存在,也没有目录/var/run/mysqld 。 我不知道如何解决这个问题,所以任何援助表示赞赏。

检查PATH/opt/lampstack/mysql/bin/中的哪个命令。 在本地mysql二进制之前还是之后? 运行一个

 which mysql 

确认。 确保/opt/lampstack/mysql/bin/出现在其他path之前。

当试图确定你的$PATH是否有可访问的东西时,最好使用命令type

 $ type mysql 

 $ type mysql mysql is /usr/bin/mysql