Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

B.3.3.1 文件权限问题

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

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

默认的 UMASKUMASK_DIR 值分别为 06400750mysqld假设 UMASKUMASK_DIR 的值以八进制表示,如果以零开头。例如,将 UMASK 设置为 0600 等同于将其设置为 384,因为八进制的 0600 等同于十进制的 384。

假设您使用 mysqld_safe 启动 mysqld,可以按照以下方式更改默认的 UMASK 值:

UMASK=384  # = 600 in octal
export UMASK
mysqld_safe &
Note

如果您使用 mysqld_safe 启动 mysqld,则错误日志文件是一个例外:mysqld_safe 不尊重 UMASKmysqld_safe 可能在启动 mysqld 之前创建错误日志文件,如果该文件不存在,mysqld_safe 使用 umask 设置为严格值 0137。如果这不合适,可以在执行 mysqld_safe 之前手动创建错误日志文件以所需的访问模式。

默认情况下,mysqld 创建数据库目录的访问权限值为 0750。要修改此行为,可以设置 UMASK_DIR 变量。如果设置了其值,新的目录将使用组合的 UMASKUMASK_DIR 值。例如,要给所有新的目录提供组访问权限,可以按照以下方式启动 mysqld_safe

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

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