The InnoDB engine cannot access its internal INFORMATION_SCHEMA tables because InnoDB is stopped, corrupt, or started with restrictive recovery settings.
MySQL Error 1012: ER_CANT_FIND_SYSTEM_REC appears when InnoDB tries to read its own INFORMATION_SCHEMA tables while the engine is unavailable or in recovery mode. Restart InnoDB or start MySQL with proper innodb_force_recovery settings to restore access.
Can't read record in system table
Error 1012 is raised with the message "Can't read record in system table" when MySQL’s InnoDB engine fails to fetch rows from its internal INFORMATION_SCHEMA tables.
The failure occurs during metadata queries that depend on InnoDB’s system records.
When the storage engine is offline, corrupted, or forced into a limited recovery state, these look-ups break and MySQL throws the 1012 error with SQLSTATE HY000.
Administrators usually see it on server startup, mysql_upgrade, or any INFORMATION_SCHEMA query right after an unexpected crash, improper shutdown, or manual change to innodb_force_recovery.
The error blocks many maintenance tasks because MySQL relies on those system records to list tables, constraints, and indexes.
Leaving InnoDB inaccessible risks data loss and prevents normal DDL/DML operations.
Fixing the root cause restores full transactional integrity and enables backup or migration jobs to continue.
.
If SHOW VARIABLES LIKE 'innodb_force_recovery' returns 3-6, internal reads can fail. Lower it stepwise and restart.
skip-innodb disables the engine entirely, causing error 1012 on every INFORMATION_SCHEMA query. Avoid it unless migrating to another engine.
mysqlcheck relies on INFORMATION_SCHEMA and usually fails with the same error. Fix InnoDB first, then run mysqlcheck.
Galaxy surfaces InnoDB errors inline, provides AI-suggested recovery steps, and lets teams collaborate on fixes without sharing root credentials.