我在Linux ubuntu计算机上安装了MySQL。
如果有一个MySQL安装在Ubuntu机器上,我看到一些人在做以下事情:
sudo chown mysql:mysql /data/tmp我感到困惑,我知道上述命令的含义,即将/data/tmp的所有者更改为用户'mysql‘,并将其组更改为'mysql’组。
但是(我的问题):
1.为什么要运行上面的命令?如果我在my_db数据库中创建一个表,默认情况下,将有.frm、.MYD和.MYI文件(数据文件)由MySQL在/var/lib/mysql/my_db/下创建。因此,上面的命令是否将默认的MySQL数据目录更改为/data/tmp/而不是/var/lib/mysql/my_db/?
--基本上,我想知道上面命令.的用途和效果(更好的例子是)
2. 'mysql‘所有者和组来自哪里?在Linux机器上安装MySQL会自动创建'mysql‘用户和组吗?还是人们需要手动为linux计算机创建一个mysql帐户?
发布于 2011-11-30 16:13:24
MySQL需要拥有自己的目录,因为它将在该目录中创建/删除文件。如果dir为其他用户ID所拥有,那么mysql可能会失败,因为它无法执行所需的任何文件操作。一旦它拥有了目录的所有权,它就会被点菜。
mysql用户是一个任意的选择。很容易变成“弗雷德”。但是大多数人使用mysql,因为这是显而易见的选择。如果您正在安装发行版的预编译版本,则通常由包安装程序创建。
发布于 2011-11-30 16:12:09
薄雾发行版的MySQL包将确保mysql用户(和组)的存在。然后,如果您设置了MySQL以便将它存储在/data/tmp中的临时文件,那么您将希望将它归mysql:mysql所有。每当MySQL需要使用临时表(以及其他几种情况)时,就会使用它。
发布于 2011-11-30 16:16:47
对于问题2),如果您是从源代码安装,您需要创建用户和分组自己。来自http://dev.mysql.com/doc/refman/5.0/en/installing-source-distribution.html:
# Preconfiguration setup
shell> groupadd mysql
shell> useradd -g mysql mysqlhttps://stackoverflow.com/questions/8329080
复制相似问题