我在运行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 ...
我不知道为什么
-
1)即使我使用了sudo命令(还有另一次sudo !!),我也没有这个权限 .
-
2)为什么msql-bash不能识别mysql和mysqld命令(我也尝试过使用terminal-bash;也没用)
1 回答
第一个问题
您正在尝试执行命令
mysqld_safe
,因此该命令应位于终端查找命令的PATH上 . (您可以通过运行echo $PATH
来查看这些位置 . 不同的位置用冒号分隔) .由于您尝试运行本地目录中的文件,因此应键入
./mysqld_safe
以告诉shell 're giving a path to file, otherwise it'll在PATH中搜索它 . (您可以通过指定完整路径从任何位置运行该文件) .另一个解决方案是在
/usr/local/bin/
中创建一个指向/ usr / local / mysql / mysqld_safe`的符号链接(如果我理解正确的话,这是命令的路径) . 这样你就可以从任何地方运行命令,因为它位于shell正在寻找的路径中 .第二个问题
由反引号包围的
cat
命令在运行sudo命令之前由shell执行(如果该文件对于每个人都可读,则shell将执行如下操作:sudo kill 12345
) .要以root身份运行
cat
,您应该运行以下命令:这样,你以root身份运行bash,然后运行
kill
命令,从而以root身份读取rodongi.pid
文件 .