1;2为网上参考的办法,未生效。3生效
1.更改proc这张表中的comment字段的列属性已经由char(64)改为text类型。
ALTER TABLE `proc`
MODIFY COLUMN `comment` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL AFTER `sql_mode`;
但是设计表后,发现字段属性已经是text
2.mysql_upgrade -u root -p -s(只升级系统库) 执行后卡住,如截图,虽然显示mysql.proc ok ,但再次执行更新sql仍然报错。
3.查看mysql-error.log,发现报错
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','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_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVA
翻译后时:表mysql.proc的定义不正确:位置14处应为列“sql_mode”设置类型
所以去查看mysql.proc表,发现表为空,查询其它学校数据库的mysql.proc是有数据的,导出这些数据,如insert.txt中内容,然后在当前出错的库执行下insert
再次执行更新sql,无报错,修复完成。
Cannot load from mysql.proc. The table is probably corrupted
最新推荐文章于 2024-08-09 17:40:52 发布
文章讲述了在更改proc表comment字段类型为text后,遇到mysql_upgrade卡住的问题。通过检查mysql-error.log发现sql_mode定义错误,解决方法是导入其他库的mysql.proc数据并修复sql_mode。
2791

被折叠的 条评论
为什么被折叠?



