On Mac, MySQL seems to save data as the "_mysql" user. Can somebody please explain how this is achieved. I would have expected the MySQL server application (mysqld) to have the setuid flag set, so that it would run as _mysql, but this isn't the case. How, then, does it somehow run as "_mysql"?

1 Answer 1


There's a wide variety of ways this can be accomplished, but the two most common are:

  1. Processes started as root can change their user id to any other user on the system through their own internal programming; most daemons including MySQL operate this way.
  2. Processes can be started with sudo -u _mysql mysqld or it's rough equivalent.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .