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"?
There's a wide variety of ways this can be accomplished, but the two most common are:
- 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.
- Processes can be started with
sudo -u _mysql mysqldor it's rough equivalent.