文档首页
MySQL 8.4 参考手册
相关文档 下载本手册
PDF (US Ltr) - 39.9 MB
PDF (A4) - 40.0 MB
手册页 (TGZ) - 258.5 KB
手册页 (Zip) - 365.5 KB
信息 (Gzip) - 4.0 MB
信息 (Zip) - 4.0 MB


B.3.3.1 文件权限问题

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

ERROR: Can't find file: 'path/with/file_name' (Errcode: 13)

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

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

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