如果遇到与文件许可有关的问题,可能数启动MySQLd时UMASK环境变量设置得不正确。例如,当你创建表时,MySQL可能会发出下述错误消息:
ERROR: 无法找到文件:'path/with/filename.frm' (Errcode: 13)
UMASK的默认值是0660。通过下述方式启动mysqld_safe,可改变该情况:
shell> UMASK=384 # = 600 in octal
shell> export UMASK
shell> mysqld_safe &
在默认情况下,MySQL用0700的许可创建数据库和RAID目录。你可以通过设置UMASK_DIR变量更改该行为。如果你设置了它的值,将使用组合的UMASK和UMASK_DIR值创建新目录。例如,如果你打算为所有新的目录授予组访问权限许可:
shell> UMASK_DIR=504 # = 770 in octal
shell> export UMASK_DIR
shell> mysqld_safe &
在MySQL 3.23.25和更高版本中,如果是以0开始的,MySQL将认为UMASK和UMASK_DIR的值均采用八进制形式。