在 Mac 上,MySQL 似乎以“_mysql”用户的身份保存数据。有人能解释一下这是如何实现的吗?我原本希望 MySQL 服务器应用程序 (mysqld) 设置 setuid 标志,以便它以 _mysql 身份运行,但事实并非如此。那么,它如何以“_mysql”身份运行呢?
答案1
有多种方法可以实现这一点,但最常见的两种是:
- 以 root 身份启动的进程可以通过其自己的内部编程将其用户 ID 更改为系统上的任何其他用户;包括 MySQL 在内的大多数守护进程都以这种方式运行。
sudo -u _mysql mysqld
进程可以从或其粗略等效项开始。