1929
MySQLERRORCriticalSchemaHIGH confidence
Column count of table does not match; please update
Production Risk
High — stored procedures and events may fail until the upgrade is completed.
What this means
A MySQL system table (such as mysql.proc or mysql.event) has fewer columns than expected for the running MySQL version, indicating the upgrade scripts were not run.
Why it happens
- 1MySQL was upgraded without running mysql_upgrade.
- 2Manual schema changes removed columns from a system table.
How to reproduce
trigger — this will error
trigger — this will error
-- Triggered automatically when MySQL accesses outdated system tables
expected output
ERROR 1929 (HY000): Column count of mysql.proc is wrong. Expected 21, found 20. Please use mysql_upgrade to fix this error.
Fix 1
Run mysql_upgrade (MySQL 5.7 and earlier)
Run mysql_upgrade (MySQL 5.7 and earlier)
mysql_upgrade -u root -p
Why this works
mysql_upgrade updates the system table schemas to match the current server version.
Fix 2
MySQL 8.0+: restart mysqld with --upgrade=FORCE
MySQL 8.0+: restart mysqld with --upgrade=FORCE
mysqld --upgrade=FORCE
Why this works
Forces schema upgrade of the data dictionary on startup.
What not to do
✕
Version notes
Sources
Official documentation ↗
MySQL 5.7 — 1929 ER_COL_COUNT_DOESNT_MATCH_PLEASE_UPDATE2
Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev