找不到 MySQL - 尝试从命令行访问 MySQL 时出现“找不到命令”错误
Posted
技术标签:
【中文标题】找不到 MySQL - 尝试从命令行访问 MySQL 时出现“找不到命令”错误【英文标题】:Cannot find MySQL -- get "command not found" error when trying to access MySQL from command line 【发布时间】:2012-02-08 10:11:43 【问题描述】:我之前通过 SSH 安装、连接并上传到 WordPress mysql 数据库没有问题。运行我的服务器的人进行了一些配置更改,现在当我尝试通过同一服务器上的命令行登录 MySQL 以访问同一数据库时,我收到“bash:mysql:找不到命令”错误。
我对这一切都比较陌生,所以我真的不知道该怎么做。当我运行“which mysql”时,我收到一条消息,提示 /usr/bin 目录中没有 MySQL 可执行文件。我可以验证 MySQL 是否正在运行,因为我的网站仍然运行正常,当我运行命令测试 MySQL 时,我收到一条消息说“MySQL 工作!”
我在几个目录中找到 MySQL 文件,但我不确定我在寻找什么以及找到它时如何连接到它。我也不确定这是否是用户错误,或者是否有人以某种方式移动或隐藏了 MySQL——可能是用户错误??
【问题讨论】:
运行find / -iname 'mysql'
会得到什么
我认为最好把这个问题交给服务器故障或超级用户。
【参考方案1】:
如果您的服务器上已启动并运行 MySQL 服务器,这并不意味着您在此服务器上安装了 MySQL 客户端。
试试
ls -l /usr/bin/mysql*
您是否看到系统上完全存在 MySQL 二进制文件?
还有一个问题:当您为另一种架构运行二进制文件时,Linux 会出现非常奇怪的行为。
例如,如果您在 64 位系统上运行 32 位可执行文件,您将收到类似“找不到命令或文件”的错误消息,即使二进制文件确实存在!
【讨论】:
【参考方案2】:一个 MySQL server 不是一个 MySQL client。
通过执行以下命令检查 MySQL 是否正在运行:
ps aux | grep mysql | grep -v grep
并安装 MySQL 客户端:
sudo apt-get install mysql-client # Or your distribution command
【讨论】:
【参考方案3】:虽然 MySQL 正在运行,但如果您无法使用mysql
命令连接到服务器,那么您可能缺少提供软链接:
sudo ln -s /usr/local/mysql/bin/mysqladmin /usr/bin
sudo ln -s /usr/local/mysql/bin/mysql /usr/bin
这应该使您能够连接。
【讨论】:
【参考方案4】:现在 mysql-client 已更改为 default-mysql-client。
因此命令:
sudo apt-get install default-mysql-client
【讨论】:
【参考方案5】:为了使 MySQL CLI 正常工作或从任何地方访问 mysql
命令,需要执行一组步骤来将其添加到 $PATH
变量中。
首先,打开终端,运行以下命令
echo 'export PATH=/usr/local/mysql/bin:$PATH' >> ~/.bash_profile
然后重新加载 Bash 配置文件,运行
. ~/.bash_profile
现在运行,
mysql -u root -p
输入您在安装过程中提供的密码。您应该会看到以下结果:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.23 MySQL Community Server - GPL
【讨论】:
【参考方案6】:您有时还需要在本地机器上安装 MySQL。这意味着,如果你有一个运行 MySQL Docker 容器的主机,我会遇到奇怪的事情,我需要在主机上安装 mysql-server,而不仅仅是在容器中。
原因是有一个 shell 脚本需要从查询中检查正确的数据库名称。在你的情况下,它可能会有所不同。在您的主机上(甚至可能是您的本地计算机,具体取决于您的设置),如果在 Linux 上,请尝试:
sudo apt-get update && sudo apt-get install mysql-server
然后你就会摆脱
/home/.../some_bash_script.sh: line 123: mysql: command not found
【讨论】:
以上是关于找不到 MySQL - 尝试从命令行访问 MySQL 时出现“找不到命令”错误的主要内容,如果未能解决你的问题,请参考以下文章
解决windows下安装MySQL后,在服务找不到其相关信息的问题