答案1
这看起来像是 PATH 问题。当您像输入 mysql 一样在终端中输入命令名称时,实际上终端正在尝试在 PATH 变量中指定的文件夹中找到它,并且我猜当您运行 X 时该变量不包含相同的文件夹当你不在的时候。
当您使用 X 运行并且可以使用 mysql 时,输入whereis -b mysql
,您应该得到类似/path/to/mysql
或类似的内容。
然后进入 no-X 会话并输入完整路径/path/to/mysql -u dsl
,它应该可以工作。
要使其永久生效,如果您使用的是 bash,则必须修改 .bash_profile。写一行这样的:export PATH='/path/to:$PATH
然后从命令行. .bash_profile
或重新连接自己。
答案2
假设您不需要定期执行此操作,最简单的方法是使用 mysql
完整路径进行调用
/usr/local/mysql/bin/mysql -u dsl
答案3
一种可能的选择是添加
/usr/local/mysql/bin
通过运行到你的路径
export PATH=$PATH;/usr/local/mysql/bin
否则将此路径添加到您的 ~/.bash_profile
但您也可以输入 mysql 实用程序的完整路径
/usr/local/mysql/bin/mysql -u dsl
默认情况下安装 Mysql 它不会更新 PATH。