Xampp:无法从终端连接到mysql

Xampp:无法从终端连接到mysql

我将其添加export PATH=$PATH:/opt/lampp/bin/到我的~/.zshrc文件中。我可以访问 php,但每当我输入时,sudo mysql -uroot都会看到以下消息:

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

但是,我可以通过像这样定义完整路径来访问 mysql:。sudo /opt/lampp/bin/mysql -uroot但我不想这样...我的意思是我每次都必须输入完整路径或创建别名或符号链接。

我在 Ubuntu 16.04 上使用 zshell。

答案1

您安装了两个版本的 mysql - 一个来自 Ubuntu 存储库,另一个来自第三方位置。当您使用位于 的 Ubuntu 版本时,/usr/bin/mysql尝试通过默认位置的套接字进行连接,/var/run/mysqld/mysqld.sock但这不起作用,因为运行的服务器不是 Ubuntu 库存 mysql-server。

当您运行时它就可以工作/opt/lampp/bin/mysql -uroot(顺便说一下,没有理由以 root 身份运行它),因为这个 mysql 二进制文件将默认路径设置为实际套接字所在的位置。

您有三种选择:

  1. 修改您的路径,使/opt/lampp/bin/ is before/usr/bin/` 在路径中。这将在 Ubuntu 版本之前执行 mysql 的 lampp 版本。
  2. 使用 卸载 Ubuntu mysql 客户端sudo apt-get remove mysql-client。这可能会破坏其他软件包。
  3. 卸载 lampp 并从 Ubuntu 安装所需的软件包。

第三个是我首选的解决方案。从存储库获取所有软件可确保软件保持最新、(大部分)兼容,并且具有清晰、定义良好的升级路径,可升级到下一个 Ubuntu 版本。

Ubuntu 存储库中提供 Apache、PHP、Mysql/MariaDB 和许多 apache 模块。

相关内容