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