Bobcares

‘Column Count of mysql.user is Wrong’ Error in MySQL

by | Feb 13, 2025

Learn how to fix the ‘Column Count of mysql.user is Wrong’ error in MySQL. Our MySQL Support team is here to help you with your questions and concerns.

‘Column Count of mysql.user is Wrong’ Error in MySQL

'Column Count of mysql.user is Wrong' Error in MySQLDid you know that the ‘Column count of mysql.user is wrong’ error occurs when MySQL tables are not updated to match the running MySQL version?

This error can prevent user creation and password changes, often appearing after a MySQL upgrade or migration.

This error manifests when we try to create an account or change a password.

Error from MySQL query: Cpanel::Exception::Database::Error/(XID r9urzw) The system received an error from the “MySQL” database “mysql”: 1805 (Column count of mysql.user is wrong. Expected 45, found 43. The table is probably corrupted) at /usr/local/cpanel/Cpanel/DBI.pm line 200.

Additionally, MySQL logs may contain warnings like:

[Warning] [MY-013143] [Server] Column count of mysql.user is wrong. Expected 51, found 45. The table is probably corrupted.
[Warning] InnoDB: Table mysql/innodb_table_stats has length mismatch in the column name.

Causes of the Error

  • Incorrect schema in MySQL system tables.
  • Incomplete MySQL upgrade.
  • Interrupted database migration.
  • Filesystem corruption.
  • Unexpected system shutdown.
  • Incompatible MySQL versions.

Solution 1. Run MySQL Upgrade

A common fix is forcing MySQL to upgrade its tables. Run the following command:

mysql_upgrade --force -uroot -p

If migrating from MariaDB to MySQL or between MySQL versions, ensure compatibility before running the upgrade.

Solution 2. Remove Problematic Columns

If upgrading does not resolve the issue, manually removing mismatched columns may help:


mysql -u root -p
use mysql;
alter table mysql.user drop column default_role;
alter table mysql.user drop column max_statement_time;
alter table mysql.user drop column password_expired;
quit

Solution 3. Manually Add Missing Columns

If columns are missing rather than extra, manually add them in the correct order:


use mysql;
alter Table user ADD Create_tablespace_priv enum('N','Y') DEFAULT 'N' NOT NULL AFTER Trigger_priv;
alter Table user ADD plugin char(64) DEFAULT '';
alter Table user ADD authentication_string text DEFAULT NULL;

Alternatively:

  1. Restart MySQL after running `mysql_upgrade`:

    service mysql restart

  2. For MySQL 8.x, force an upgrade using:


    sudo -i su -l mysql -s/bin/bash
    mysqld --upgrade=FORCE &
    exit
    /scripts/restartsrv_mysql --stop
    /scripts/restartsrv_mysql --start

[Need assistance with a different issue? Our team is available 24/7.]

Conclusion

The ‘Column count of mysql.user is wrong’ error usually results from incomplete MySQL upgrades or migrations. Running `mysql_upgrade` is the first step, but manual table modifications may be necessary in persistent cases. Always ensure backups before making changes to system tables.

In brief, our Support Experts demonstrated how to fix the Column Count error in MySQL.

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

Never again lose customers to poor
server speed! Let us help you.

Privacy Preference Center

Necessary

Necessary cookies help make a website usable by enabling basic functions like page navigation and access to secure areas of the website. The website cannot function properly without these cookies.

PHPSESSID - Preserves user session state across page requests.

gdpr[consent_types] - Used to store user consents.

gdpr[allowed_cookies] - Used to store user allowed cookies.

PHPSESSID, gdpr[consent_types], gdpr[allowed_cookies]
PHPSESSID
WHMCSpKDlPzh2chML

Statistics

Statistic cookies help website owners to understand how visitors interact with websites by collecting and reporting information anonymously.

_ga - Preserves user session state across page requests.

_gat - Used by Google Analytics to throttle request rate

_gid - Registers a unique ID that is used to generate statistical data on how you use the website.

smartlookCookie - Used to collect user device and location information of the site visitors to improve the websites User Experience.

_ga, _gat, _gid
_ga, _gat, _gid
smartlookCookie
_clck, _clsk, CLID, ANONCHK, MR, MUID, SM

Marketing

Marketing cookies are used to track visitors across websites. The intention is to display ads that are relevant and engaging for the individual user and thereby more valuable for publishers and third party advertisers.

IDE - Used by Google DoubleClick to register and report the website user's actions after viewing or clicking one of the advertiser's ads with the purpose of measuring the efficacy of an ad and to present targeted ads to the user.

test_cookie - Used to check if the user's browser supports cookies.

1P_JAR - Google cookie. These cookies are used to collect website statistics and track conversion rates.

NID - Registers a unique ID that identifies a returning user's device. The ID is used for serving ads that are most relevant to the user.

DV - Google ad personalisation

_reb2bgeo - The visitor's geographical location

_reb2bloaded - Whether or not the script loaded for the visitor

_reb2bref - The referring URL for the visit

_reb2bsessionID - The visitor's RB2B session ID

_reb2buid - The visitor's RB2B user ID

IDE, test_cookie, 1P_JAR, NID, DV, NID
IDE, test_cookie
1P_JAR, NID, DV
NID
hblid
_reb2bgeo, _reb2bloaded, _reb2bref, _reb2bsessionID, _reb2buid

Security

These are essential site cookies, used by the google reCAPTCHA. These cookies use an unique identifier to verify if a visitor is human or a bot.

SID, APISID, HSID, NID, PREF
SID, APISID, HSID, NID, PREF