我知道 linux 命令的作用chown
,我用它来更改文件的所有权或组。
如果有一个MySQL安装在乌班图机器时,我看到有些人在做以下事情:
sudo chown mysql:mysql /data/tmp
我很困惑,我知道上面命令的含义,就是将/data/tmp
用户的所有者更改为“ mysql
”,并将其组更改为“ mysql
”组。
但:
1.为什么要运行上述命令?
2.“mysql”所有者和组来自哪里?在 Linux 机器上安装 MySQL 是否会自动创建“mysql”用户和组?
答案1
在 Ubuntu 中安装 MySQL 软件包会创建一个mysql
同名的用户和组。这是MySQL守护进程运行的用户,许多MySQL相关的文件都属于该用户。如果您手动安装MySQL,您可能需要自己创建用户。
chown mysql:mysql /data/tmp
(以 root 身份执行)使用户mysql
和组成mysql
为文件或目录的所属用户和所属组/data/tmp
。我不知道这些人为什么这么做,你必须问他们。
答案2
这样做是有一些原因的。
当你在 Linux 机器上安装 mysql 时。 mysql 用户和组自动安装。
为什么此操作需要用户/组?出于安全原因,这是必需的。您想授予用户使用 mysql 的权限。并且您还授予了 /data/tmp 的权限。因为你的数据库文件默认存储在那里。