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

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

如果在Ubuntu机器上安装MySQL ,我看到一些人正在做以下事情:

sudo chown mysql:mysql /data/tmp 

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

但是(我的问题):

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

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

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

命令

用户帐户

在Ubuntu上(你标记了这个),MySQL通常通过apt-get来安装。 MySQL APT软件包包含在安装软件时自动创buildMySQL用户的脚本。

当你从apt-get这样的软件包pipe理器中安装mysql时, mysql用户将自动创build,权限和所有权也应该自动设置。

当一个正在运行的进程(如mysql)创build一个文件时,该文件也应该由同一个有效用户mysql

mysql的主目录设置在/ etc / passwd文件中:

 mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash 

如果您将其更改为/ data / tmp(或任何其他目录),该目录将成为mysql的主文件夹。

最重要的是,你可以在mysqlconfiguration文件“my.cnf”中更改datadir = [mysqld]下的内容,这将是实际数据文件的存储位置

 [mysqld] datadir=/var/lib/mysql 

显然无论这2点,mysql用户需要访问。

**

更改主目录和/或数据导向器的原因显然是空间。 一个“最佳实践”是将/ var目录保留在* nix服务器上,但是sql数据库往往会变大,最简单的做法就是将它们移到另一个分区上。