mysql 命令行不工作

mysql 命令行不工作

我的 Fedora 系统中运行着 mysql。我在系统上安装了 xampp,并且 Web 空间中的 php 项目运行良好。PhpMyAdmin 运行良好。phpinfo()在 PHP 脚本中回显也显示 mysql 已启用。但运行 mysql connect 命令

mysql -u[username] -p[password]

给出了这个-

bash: mysql: command not found

我该如何解决这个问题?有什么建议吗?

我想我需要做一些指向(在某个文件中定义某个路径),以便我的系统知道 mysql 已安装。我到底要做什么?

额外细节
此系统是其他人的,这里没有。可能是系统中已经安装了 PHP/Mysql。我刚刚将 xampp for linux 提取到其中,/opt/lampp/并将上述所有内容(PHP 项目和 PhpMyAdmin)放入其中。完成此操作后,我遇到了套接字问题(PhpMyAdmin 无法正常工作并显示此问题)-

#2002 - The server is not responding (or the local MySQL server's socket is not correctly configured) 

我使用重新启动了 lampp ./lampp restart,但问题仍然存在。然后今天打开系统后,我启动了 lampp,一切正常。不再有项目问题,只有命令行 Mysql 不工作

答案1

就像 Khaled 所说的那样,“命令未找到”问题可能是路径设置的问题。如果你尝试,locate mysql它会出现类似/opt/lampp/mysql/bin/mysql,那么您需要export PATH=$PATH:/opt/lampp/mysql/bin'让一个简单的mysql工作。此外,您可能希望将其添加到您的 ~/.bash_profile 中,以便下次登录时重置它。

至于套接字问题,您的 my.cnf 文件将指定套接字的位置。mysql 客户端二进制文件将查找编译时使用的任何默认位置。在 Fedora 的情况下,这是 /var/lib/mysql/mysql.sock。如果该位置在备用位置,则需要在命令行上使用 指定该备用位置mysql --socket=/path/to/mysql.sock。如果 MySQL 未运行,则此文件也不会存在,因此您可能需要检查 ps 输出ps -efa|grep -i mysql以验证它是否正在运行。顺便说一句,您还将在 ps 输出中看到“socket=”,它设置服务器将写入套接字的位置。

答案2

您需要找到 Mysql 二进制文件文件夹并将该路径添加到$PATH变量中。您可以使用findlocate搜索 mysql 二进制文件。

答案3

不熟悉 Fedora,但看起来你安装了 mysql-server,但没有安装 mysql-client

答案4

我熟悉 Fedora,我认为 Jet 可能是对的。他们区分了 mysql-server 和 mysql-client。

相关内容