1929
MariaDBERRORCriticalSchemaHIGH 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
  1. 1MySQL was upgraded without running mysql_upgrade.
  2. 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

← All MariaDB errors