首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"chown mysql:mysql /data/tmp“命令

"chown mysql:mysql /data/tmp“命令
EN

Server Fault用户
提问于 2011-11-30 16:17:27
回答 3查看 6K关注 0票数 0

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

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

代码语言:javascript
复制
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帐户?

EN

回答 3

Server Fault用户

回答已采纳

发布于 2011-11-30 16:30:07

命令

  • chown命令所做的与您期望的完全一样。
  • 在我熟悉的大多数系统中,默认目录树是/var/lib/mysql/的一部分。
  • 要使chown命令有意义,必须有人有一个引用/data/tmp、关联的系统变量或命令行标志的my.cnf
    • http://dev.mysql.com/doc/refman/5.0/en/temporary-files.html (描述性文档)
    • http://dev.mysql.com/doc/refman/5.0/en/server-options.html#option_米舍尔德_tmpdir (可以设置位置服务器变量)

用户帐户

在Ubuntu (您标记了这个)上,MySQL通常由apt-get安装。MySQL APT包包括在安装软件时自动创建MySQL用户的脚本。

票数 1
EN

Server Fault用户

发布于 2011-11-30 16:26:33

当您从像apt-get这样的包管理器安装mysql时,将自动创建mysql用户,并且应该自动设置权限和所有权。

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

票数 0
EN

Server Fault用户

发布于 2011-11-30 16:27:40

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

代码语言:javascript
复制
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash

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

在此基础上,您可以在mysql配置文件“datadir=”中更改米舍尔德下的my.cnf,这将是存储实际数据文件的地方。

代码语言:javascript
复制
[mysqld]
datadir=/var/lib/mysql

显然,无论这2点指向什么,mysql用户都需要访问。

**

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

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/336277

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档