MySQL 9.0 发行说明
如果您遇到文件权限问题,则 UMASK
或 UMASK_DIR
环境变量在 mysqld 启动时可能设置不正确。例如,当您创建表时,mysqld 可能会发出以下错误消息
ERROR: Can't find file: 'path/with/file_name' (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 &
注意
如果使用 mysqld_safe 启动 mysqld,则错误日志文件适用一个例外,它不尊重 UMASK
:mysqld_safe 可能会在启动 mysqld 之前创建错误日志文件(如果它不存在),并且 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 &
有关更多详细信息,请参见 第 6.9 节,“环境变量”。