Я получаю следующие разрешения от терминала:
$ 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
). Вы проверили, sudo
просто ли запоминается последний раз, когда вы вводили пароль root? По умолчанию (если вы не установили Default timestamp_timeout=0
) так и будет.