我從終端機獲得以下權限:
$ 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 密碼。如果在沒有 sudo 的情況下發出 mysqld_safe ,它顯然會失敗並抱怨(./var 中的檔案權限被拒絕)。 sudoers 檔案僅包含以下有關權限的行:
root ALL=(ALL) ALL
答案1
您的規則未指定NOPASSWD
,因此應該需要密碼 ( PASSWD
)。您是否檢查過是否sudo
只記住了上次輸入 root 密碼的時間?預設情況下(除非您設定Default timestamp_timeout=0
)它會這樣做。