ERROR 3009 (HY000): Column count of mysql.user is wrong. Expected 45, found 42. Created with MySQL 50560, now running 50725. Please use mysql_upgrade to fix this error.

时间:2024-11-06 14:04:26

centos7.5 登入mysql,进行授权报错

问题:

mysql> grant all privileges on *.* to 'lvhanzhi'@'%' identified by 'Bgx123.com';
ERROR 3009 (HY000): Column count of mysql.user is wrong. Expected 45, found 42. Created with MySQL 50560, now running 50725. Please use mysql_upgrade to fix this error.

原因:

    错误是由于你曾经升级过数据库,升级完后没有使用,mysql_upgrade升级数据结构造成的。

解决方法:

[root@db01 ~]# mysql_upgrade -u root -p123456
[root@db01 ~]# mysql -uroot -p123456
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.7.25-log MySQL Community Server (GPL) Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> grant all privileges on *.* to 'lvhanzhi'@'%' identified by 'Bgx123.com';
Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> grant replication slave,replication client on *.* to 'rep'@'172.16.1.%' identified by 'Rep123.com';
Query OK, 0 rows affected, 1 warning (0.00 sec)