Mysql failed to start: [ERROR] Incorrect definition of table mysql.proc

Environment: centos7
tried: mysql_upgrade-u root-p , enter the password, the command line record shows the operation ok, and then execute

systemctl stop mysql
systemctl restart mysql

is still a prompt that cannot be started. Reread the mysqld.log record, 2 error:

181130 8:21:21 [ERROR] Incorrect definition of table mysql.proc: expected column "sql_mode" at position 14 to have type set("REAL_AS_FLOAT","PIPES_AS_CONCAT","ANSI_QUOTES","IGNORE_SPACE","NOT_USED","ONLY_FULL_GROUP_BY","NO_UNSIGNED_SUBTRACTION","NO_DIR_IN_CREATE","POSTGRESQL","ORACLE","MSSQL","DB2","MAXDB","NO_KEY_OPTIONS","NO_TABLE_OPTIONS","NO_FIELD_OPTIONS","MYSQL323","MYSQL40","ANSI","NO_AUTO_VALUE_ON_ZERO","NO_BACKSLASH_ESCAPES","STRICT_TRANS_TABLES","STRICT_ALL_TABLES","NO_ZERO_IN_DATE","NO_ZERO_DATE","INVALID_DATES","ERRO

181130 8:21:21 [ERROR] Incorrect definition of table mysql.event: expected column "sql_mode" at position 14 to have type set("REAL_AS_FLOAT","PIPES_AS_CONCAT","ANSI_QUOTES","IGNORE_SPACE","NOT_USED","ONLY_FULL_GROUP_BY","NO_UNSIGNED_SUBTRACTION","NO_DIR_IN_CREATE","POSTGRESQL","ORACLE","MSSQL","DB2","MAXDB","NO_KEY_OPTIONS","NO_TABLE_OPTIONS","NO_FIELD_OPTIONS","MYSQL323","MYSQL40","ANSI","NO_AUTO_VALUE_ON_ZERO","NO_BACKSLASH_ESCAPES","STRICT_TRANS_TABLES","STRICT_ALL_TABLES","NO_ZERO_IN_DATE","NO_ZERO_DATE","INVALID_DATES","ERROR_FOR_DIVISION_BY_ZERO","TRADITIONAL","NO_AUTO_CREATE_USER","HIGH_NOT_PRECEDENCE","NO_ENGINE_SUBSTITUTION","PAD_CHAR_TO_FULL_LENGTH"), found type set("REAL_AS_FLOAT","PIPES_AS_CONCAT","ANSI_QUOTES","IGNORE_SPACE","IGNORE_BAD_TABLE_OPTIONS","ONLY_FULL_GROUP_BY","NO_UNSIGNED_SUBTRACTION","NO_DIR_IN_CREATE","POSTGRESQL","ORACLE","MSSQL","DB2","MAXDB","NO_KEY_OPTIONS","NO_TABLE_OPTIONS","NO_FIELD_OPTIONS","MYSQL323","MYSQL40","ANSI","NO_AUTO_VALUE_ON_ZERO","NO_BACKSLASH_ESCAPES","STRICT_TRANS_TABLES","STRICT_A

google"s scheme has basically been tried, but it doesn"t work. What should I do?

Jan.14,2022

this should be caused by the incompatibility of different versions of the mysql.proc and mysql.event table structures.

has not dealt with similar problems, regardless of finding a seemingly reliable solution on the website

1 / usr/sbin/mysqld-- skip-grant-- general-log &
2 and then execute


, . <br> mysql .

[mysqld]
innodb_force_recovery = 1

innodb_force_recovery with a value of 1 / 6, you can refer to the official documentation.

Menu