B.3.3.1 Problems with File Permissions (original) (raw)
B.3.3.1 Problems with File Permissions
If you have problems with file permissions, theUMASK
or UMASK_DIR
environment variable might be set incorrectly whenmysqld starts. For example,mysqld might issue the following error message when you create a table:
ERROR: Can't find file: 'path/with/file_name' (Errcode: 13)
The default UMASK
andUMASK_DIR
values are0640
and 0750
, respectively. mysqld assumes that the value for UMASK
or UMASK_DIR
is in octal if it starts with a zero. For example, settingUMASK=0600
is equivalent toUMASK=384
because 0600 octal is 384 decimal.
Assuming that you start mysqld usingmysqld_safe, change the defaultUMASK
value as follows:
UMASK=384 # = 600 in octal
export UMASK
mysqld_safe &
Note
An exception applies for the error log file if you startmysqld usingmysqld_safe, which does not respectUMASK
: mysqld_safe may create the error log file if it does not exist prior to starting mysqld, andmysqld_safe uses a umask set to a strict value of 0137
. If this is unsuitable, create the error file manually with the desired access mode prior to executing mysqld_safe.
By default, mysqld creates database directories with an access permission value of0750
. To modify this behavior, set theUMASK_DIR
variable. If you set its value, new directories are created with the combinedUMASK
and UMASK_DIR
values. For example, to give group access to all new directories, start mysqld_safe as follows:
UMASK_DIR=504 # = 770 in octal
export UMASK_DIR
mysqld_safe &
For additional details, seeSection 6.9, “Environment Variables”.