如果您遇到文件权限问题,则
UMASK
orUMASK_DIR
环境变量可能在
mysqld启动时设置不正确。例如,
当您创建表时
, mysqld可能会发出以下错误消息:
ERROR: Can't find file: 'path/with/file_name' (Errcode: 13)
默认值UMASK
和
UMASK_DIR
值分别是
0640
和0750
。
如果 or 的值以零开头,则mysqld假定UMASK
or的值是八进制的。UMASK_DIR
例如,设置
UMASK=0600
等同于
UMASK=384
因为 0600 八进制是 384 十进制。
假设您使用
mysqld_safe启动mysqld,更改默认
值如下:
UMASK
UMASK=384 # = 600 in octal
export UMASK
mysqld_safe &
如果
使用
mysqld_safe启动mysqld ,则错误日志文件适用异常,这不符合
:如果错误日志文件在启动mysqld之前不存在,mysqld_safe可能会创建错误日志文件,并且
mysqld_safe使用 umask 设置为严格的值。如果这不合适,请在执行mysqld_safe之前使用所需的访问模式手动创建错误文件。
UMASK
0137
默认情况下,mysqld创建具有访问权限值的数据库目录
0750
。要修改此行为,请设置
UMASK_DIR
变量。如果您设置它的值,将使用组合的
UMASK
和UMASK_DIR
值创建新目录。例如,要授予组访问所有新目录的权限,请按如下方式
启动mysqld_safe :
UMASK_DIR=504 # = 770 in octal
export UMASK_DIR
mysqld_safe &
有关更多详细信息,请参阅 第 4.9 节,“环境变量”。