The MySQL option-file parser skipped an !include or !includedir directive because the maximum nesting depth (10) was exceeded.
MySQL Error 50: EE_SKIPPING_DIRECTIVE_DUE_TO_MAX_INCLUDE_RECURSION signals that the server ignored an !include directive after hitting the 10-level include depth limit. Remove circular or deeply nested config includes, or flatten your my.cnf hierarchy, to resolve the issue.
Skipping '%s' directive as maximum include recursion level was reached in file %s at line %d. EE_SKIPPING_DIRECTIVE_DUE_TO_MAX_INCLUDE_RECURSION was added in 8.0.13.
MySQL raises error 50 with condition name EE_SKIPPING_DIRECTIVE_DUE_TO_MAX_INCLUDE_RECURSION when the option-file reader encounters an !include or !includedir directive but has already followed ten nested include levels. To avoid infinite loops, the parser silently skips any further directive and emits this message.
The error is logged during server or client start-up, not during SQL execution.
Beginning with MySQL 8.0.13, the message appears in the error log and on stderr so administrators can detect misconfigured configuration files early.
Typical output: 2024-05-28T14:22:01.012345Z 0 [Warning] [MY-000050] [Server] Skipping '!include' directive as maximum include recursion level was reached in file /etc/mysql/my.cnf at line 12.
The skipped directive means the referenced option file is not read, so any variables set inside it stay at defaults.
Startup may still succeed, but expected configuration changes are lost, potentially leading to wrong buffer sizes, authentication settings, or plugin loading.
.
File A includes file B, and file B includes file A, creating an endless loop that quickly reaches the 10-level limit.
Administrators split configuration into many nested files (A includes B, B includes C, and so on) for organizational reasons.
Ten levels are enough for most cases, but overly granular setups hit the ceiling.
Configuration management systems may generate my.cnf fragments and nest them without awareness of the MySQL limit.
An !includedir pointing back to an upper directory can create recursive discovery of the same file set, exhausting the depth.
.
Usually no. MySQL skips the directive and continues with default settings, but missing options may cause indirect failures.
No runtime variable controls the limit. The value is compiled into the server at 10 levels. Redesign the configuration instead.
The main configuration file is level 0. Each subsequent !include increases the level by one. Directories added with !includedir also add a level per file processed.
Galaxy’s startup checks alert you to MySQL warnings, and its shared editor lets teams audit my.cnf versions together, reducing the risk of circular includes.