Ich erhalte vom Terminal die folgenden Berechtigungen:
$ 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 selbst hat 755). tmp ist der Speicherort von mysql.sock, var enthält die Datenbanken. MySQL startet normal mit sudo, wie in der Frage angegeben, aber ohne nach dem Root-Passwort zu fragen, auch nicht nach einem Bootvorgang. Wenn mysqld_safe ohne sudo ausgegeben wird, schlägt es offensichtlich fehl und beschwert sich (Berechtigung für Datei in ./var verweigert). Die sudoers-Datei enthält nur die folgende Zeile bezüglich Berechtigungen:
root ALL=(ALL) ALL
Antwort1
Ihre Regel gibt nichts an NOPASSWD
, daher sollte ein Passwort ( PASSWD
) erforderlich sein. Haben Sie überprüft, ob sudo
nur das letzte Mal gespeichert wird, als Sie das Root-Passwort eingegeben haben? Standardmäßig (sofern Sie nicht Default timestamp_timeout=0
) wird dies getan.