B.4.3.1 文件权限问题

如果文件权限有问题,则在mysqld启动时UMASKUMASK_DIR环境变量可能设置不正确。例如,在创建 table 时,mysqld可能会发出以下错误消息:

ERROR: Can't find file: 'path/with/filename.frm' (Errcode: 13)

UMASKUMASK_DIR的默认值分别是06400750mysqld假定UMASKUMASK_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变量。如果设置其值,则使用合并的UMASKUMASK_DIR值创建新目录。例如,要授予对所有新目录的组访问权限,请按以下方式启动mysqld_safe

UMASK_DIR=504  # = 770 in octal
export UMASK_DIR
mysqld_safe &

有关更多详细信息,请参见第 4.9 节“环境变量”