Назад | Перейти на главную страницу

Как MySQL работает как пользователь «_mysql» на Mac?

На Mac кажется, что MySQL сохраняет данные как пользователь "_mysql". Может кто-нибудь объяснить, как это достигается. Я ожидал, что серверное приложение MySQL (mysqld) будет иметь установленный флаг setuid, чтобы оно работало как _mysql, но это не так. Как же тогда он запускается как "_mysql"?

Для этого существует множество способов, но наиболее распространены два:

  1. Процессы, запущенные от имени пользователя root, могут изменить свой идентификатор пользователя на любого другого пользователя в системе посредством собственного внутреннего программирования; большинство демонов, включая MySQL, работают именно так.
  2. Процессы можно запустить с sudo -u _mysql mysqld или это грубый эквивалент.