1706
MySQLERRORCommonSystem TablesHIGH confidence
Column count of mysql.* table is wrong; please run mysql_upgrade
Production Risk
High — many server operations fail until system tables are upgraded.
What this means
A MySQL system table has fewer or more columns than the current server version expects. This typically occurs after an upgrade when mysql_upgrade has not been run.
Why it happens
- 1MySQL server was upgraded but mysql_upgrade was not executed.
- 2System tables were manually altered.
How to reproduce
trigger — this will error
trigger — this will error
-- Observed when querying system tables after an in-place upgrade.
expected output
ERROR 1706 (HY000): Column count of mysql.user is wrong. Expected 45, found 43. The table is probably corrupted.
Fix
Run mysql_upgrade
Run mysql_upgrade
-- From the OS shell: mysql_upgrade -u root -p -- Then restart MySQL.
Why this works
mysql_upgrade adds missing columns and updates system table definitions to match the new server version.
What not to do
✕
Sources
Official documentation ↗
MySQL 8.0 — 1706 ER_COL_COUNT_DOESNT_MATCH_PLEASE_UPDATE_V2
Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev