我在OSX 10.9.5中运行并且在尝试重置我的MySQL根密码时我键入了这个:
sudo mysqld_safe --skip-grant-tables
在被要求输入管理员密码后,我收到了这个错误:
sudo:mysqld_safe:找不到命令
我在
中写道cd / usr / local / mysql
另外,我有sudo命令的问题,虽然我登录了管理帐户我的帐号,它经常被拒绝,就像使用此命令基本上相同的问题(重置我的root密码)
sudo kill
cat /usr/local/mysql/data/rodongi.pid
然后我得到了
cat:/usr/local/mysql/data/rodongi.pid:权限被拒绝
密码:
输入密码后......
用法:kill [-s signal_name] pid ... kill -l [exit_status] kill -signal_name pid ... kill -signal_number pid ...
我不知道为什么
答案 0 :(得分:0)
您正在尝试执行命令mysqld_safe
,因此该命令应位于终端查找命令的 PATH 上。 (您可以通过运行echo $PATH
来查看这些位置。不同的位置用冒号分隔。)
由于您正在尝试运行本地目录中的文件,因此您应该键入./mysqld_safe
告诉shell您要提供文件路径,否则它就会出现问题。\ n \ n \ n 在 PATH 中搜索它。 (您可以通过指定完整路径从任何地方运行该文件。)
另一个解决方案是在/usr/local/bin/
中创建一个指向/ usr / local / mysql / mysqld_safe`的符号链接(如果我理解正确的话,这是命令的路径)。这样你就可以从任何地方运行命令,因为它在shell寻找的路径中。
由反引号包围的cat
命令由运行sudo命令之前的shell 执行(如果该文件对所有人都可读,则shell将执行如下操作:sudo kill 12345
)。
要以root身份运行cat
,您应该运行以下命令:
sudo bash -c 'kill `cat /usr/local/mysql/data/rodongi.pid`'
这样,你以root身份运行bash,然后运行kill
命令,从而以root身份读取rodongi.pid
文件。