ターミナルから次の権限を取得します。
$ cd /usr/local/mysql
$ ls -l
drwxr-xr-x 41 root wheel 1394 29 Apr 00:55 bin
drwxr-xr-x 4 root wheel 136 29 Apr 00:55 docs
drwxr-xr-x 3 root wheel 102 29 Apr 00:55 include
drwxr-xr-x 3 root wheel 102 29 Apr 00:55 lib
drwxr-xr-x 4 root wheel 136 29 Apr 00:55 libexec
drwxr-xr-x 15 root wheel 510 29 Apr 00:55 mysql-test
drwxr-xr-x 5 root wheel 170 29 Apr 00:55 share
drwxr-xr-x 29 root wheel 986 29 Apr 00:55 sql-bench
drwxrwxr-x 3 _mysql wheel 102 5 Mag 10:56 tmp
drwxrwxr-x 16 _mysql wheel 544 5 Mag 10:56 var
(mysqld_safe 自体の 755 です)。tmp は mysql.sock が存在する場所で、var にはデータベースが含まれます。MySQL は、質問で指定されているように、sudo を使用して正常に起動しますが、起動後でも root パスワードを要求しません。mysqld_safe が sudo なしで発行されると、明らかに失敗し、エラーが発生します (./var 内のファイルに対する権限が拒否されました)。sudoers ファイルには、権限に関する以下の行のみが含まれています。
root ALL=(ALL) ALL
答え1
ルールでは が指定されていないNOPASSWD
ため、パスワード ( PASSWD
) が必要です。 が最後に入力した root のパスワードを記憶しているだけかどうかを確認しましたかsudo
? デフォルトでは ( を設定しない限りDefault timestamp_timeout=0
) そのように動作します。