起動時に、InnoDB
は innodb_directories
変数で定義されたディレクトリでテーブルスペースファイルをスキャンします。 検出されたテーブルスペースファイルのパスは、データディクショナリに記録されているパスに対して検証されます。 パスが一致しない場合は、データディクショナリ内のパスが更新されます。
MySQL 8.0.21 で導入された innodb_validate_tablespace_paths
変数を使用すると、テーブルスペースパス検証を無効にできます。 この機能は、テーブルスペースファイルを移動しない環境を対象としています。 パス検証を無効にすると、多数のテーブルスペースファイルがあるシステムでの起動時間が短縮されます。 log_error_verbosity
が 3 に設定されている場合、テーブルスペースパスの検証が無効になると、起動時に次のメッセージが出力されます:
[InnoDB] Skipping InnoDB tablespace path validation.
Manually moved tablespace files will not be detected!
警告
テーブルスペースファイルの移動後にテーブルスペースパス検証を無効にしてサーバーを起動すると、動作が未定義になる可能性があります。