“chown mysql:mysql / data / tmp”命令

时间:2011-11-30 16:10:04

标签: mysql database linux ubuntu command-line

我在安装了 MySQL 的Linux ubuntu 计算机上。

如果 Ubuntu 计算机上有 MySQL 安装,我看到有些人在做以下事情:

sudo chown mysql:mysql /data/tmp

我感到困惑,我知道上述命令的含义,即将/data/tmp的所有者更改为用户“mysql”,并将其组更改为“mysql '小组。

但是(我的问题):

1。为什么会运行上述命令?如果我在my_db数据库中创建了一个表格,默认情况下会自动创建.frm.MYD.MYI个文件(数据文件)/var/lib/mysql/my_db/下由 MySQL 强>那么,上面的命令是否将默认的MySQL数据目录更改为/data/tmp/而不是/var/lib/mysql/my_db/

基本上,我想知道上述命令的目的和效果。(更好的例子)

2. 'mysql'所有者和群组来自哪里?在Linux机器上安装MySQL是否会自动创建“mysql”用户和组?或者人们需要为linux机器手动创建一个mysql帐户?

3 个答案:

答案 0 :(得分:2)

Mist发行版的MySQL包将确保mysql用户(和组)存在。然后,如果您设置MySQL以便将其临时文件存储在/data/tmp中,您将希望它由mysql:mysql拥有。只要MySQL需要使用临时表(在其他一些情况下),它就会被使用。

答案 1 :(得分:2)

MySQL需要拥有自己的目录,因为它将在该目录中创建/删除文件。如果dir由其他用户ID拥有,则mysql可能会失败,因为它无法执行所需的任何文件操作。一旦它拥有该目录的所有权,就可以获得全权委托。

mysql用户是一个随意的选择。它可以很容易地“变成”。但大多数人使用mysql,因为这是显而易见的选择。如果您正在安装发行版的预编译版本,它通常由软件包安装程序创建。

答案 2 :(得分:0)

对于问题2),如果从源代码安装,则需要自己创建用户和组。来自http://dev.mysql.com/doc/refman/5.0/en/installing-source-distribution.html

# Preconfiguration setup
shell> groupadd mysql
shell> useradd -g mysql mysql