MySQL 8.4 Release Notes
B.3.3.1 文件权限问题
如果您遇到文件权限问题,可能是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启动mysqldUMASK
值:
UMASK=384 # = 600 in octal
export UMASK
mysqld_safe &
Note
如果使用mysqld启动mysqld_safe,则有一个例外:mysqld_safe 不会尊重 UMASK
:mysqld_safe 可能在启动mysqld 之前创建错误日志文件,如果不存在,且mysqld_safe 使用的 umask 值为 0137
。如果这不合适,手动创建错误文件,以期望的访问模式执行mysqld_safe。
默认情况下,mysqld 创建数据库目录的访问权限值为 0750
。要修改这个行为,设置 UMASK_DIR
变量。如果设置了该值,新创建的目录将使用组合的 UMASK
和 UMASK_DIR
值。例如,要为所有新目录赋予组访问权限,请按照以下方式启动mysqld_safe:
UMASK_DIR=504 # = 770 in octal
export UMASK_DIR
mysqld_safe &
更多详细信息,请参见第6.9节,“环境变量”。