MySQL 8.4 发行说明
如果遇到文件权限问题,则在 mysqld 启动时,UMASK
或 UMASK_DIR
环境变量可能设置不正确。例如,当您创建表时,mysqld 可能会发出以下错误消息
ERROR: Can't find file: 'path/with/file_name' (Errcode: 13)
默认的 UMASK
和 UMASK_DIR
值分别是 0640
和 0750
。如果 UMASK
或 UMASK_DIR
的值以零开头,则 mysqld 会假定该值为八进制。例如,设置 UMASK=0600
等效于 UMASK=384
,因为八进制的 0600 等于十进制的 384。
假设您使用 mysqld_safe 启动 mysqld,请按如下方式更改默认的 UMASK
值
UMASK=384 # = 600 in octal
export UMASK
mysqld_safe &
注意
如果您使用 mysqld_safe 启动 mysqld,则错误日志文件有一个例外,它不遵守 UMASK
:如果在启动 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 &
有关更多详细信息,请参阅 第 6.9 节“环境变量”。