MySQL 8.0 リファレンスマニュアル


B.3.3.1 ファイル権限の問題

ファイル権限に問題がある場合、mysqld の起動時に UMASK または UMASK_DIR 環境変数が正しく設定されないことがあります。 たとえば、mysqld では、テーブルの作成時に次のエラーメッセージが発行される場合があります:

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

UMASK および UMASK_DIR のデフォルト値は、それぞれ 0640 および 0750 です。mysqld では、UMASK または UMASK_DIR の値がゼロで始まる場合、その値は 8 進数であるとみなされます。 たとえば、0600 オクタルは 384 桁であるため、UMASK=0600 の設定は UMASK=384 と同等です。

mysqld_safe を使用して mysqld を起動する場合は、デフォルトの UMASK 値を次のように変更します:

UMASK=384  # = 600 in octal
export UMASK
mysqld_safe &
注記

UMASK を考慮しない mysqld_safe を使用して mysqld を起動すると、エラーログファイルに例外が適用されます: mysqld の起動前にエラーログファイルが存在しない場合、mysqld_safe はエラーログファイルを作成し、mysqld_safe は厳密な値 0137 に設定された umask を使用します。 これが適切でない場合は、mysqld_safe を実行する前に、目的のアクセスモードでエラーファイルを手動で作成します。

デフォルトでは、mysqld はアクセス権限の値が 0750 のデータベースディレクトリを作成します。 この動作を変更するには、UMASK_DIR 変数を設定します。 この値を設定すると、新しいディレクトリは UMASK 値と UMASK_DIR 値を組み合わせたもので作成されます。 たとえば、グループにすべての新しいディレクトリへのアクセス権を付与するには、次のように mysqld_safe を起動します:

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

追加の詳細については、セクション4.9「環境変数」を参照してください。


関連キーワード:  UMASK, mysqld, 権限, テーブル, safe, リファレンス, エラー, 一般, 作成, マニュアル