LINUX下将mysql从5.1升级至5.5后,发现存储过程不能用了。创建和使用存储过程时就会提示Cannot load from mysql.proc. The table is probably corrupted。
查遍整个百度,结果还是印证了那一句话“天下文章一大抄”啊!
所有的文章几乎都是这么说的
解决方法非常简单,运行mysql_upgrade命令即可。此命令会在数据目录下生成一个文本文件mysql_upgrade_info,里面的内容为升级后的数据库版本。
但不知道什么原因,在我这里无效,升级后各种升级OK,但仍然报这个错误。
最后还是求助GOOGLE吧
http://bugs.mysql.com/bug.php?id=50183
原因是mysql.proc升级时有个字段没有升级成功。
在5.1中mysql.proc表的comment字段是varchar(64):
`comment` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
但在5.5中应该是text:
`comment` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
So,执行下面的语句,把这个字段修改为text,就彻底OK了:
ALTER TABLE `proc`
MODIFY COLUMN `comment` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL AFTER `sql_mode`;
MODIFY COLUMN `comment` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL AFTER `sql_mode`;
相关推荐
`proc.frm`, `proc.MYD`, `proc.MYI`是MySQL数据文件,它们构成了`proc`表的数据存储结构。 1. `proc.frm`: 这个文件存储了`proc`表的结构信息,包括字段定义、索引等元数据。`.frm`文件是MySQL用来保存表结构的二...
在MySQL数据库系统中,"Table mysql.plugin doesn’t exist" 是一个常见的错误,通常会在尝试启动MySQL服务时出现。这个错误表明MySQL服务器无法找到`mysql.plugin`表,该表是MySQL内部的一个关键组件,用于管理...
在MySQL数据库操作中,"The user specified as a definer (‘mysql.infoschema’@’localhost’) does not exist" 是一个常见的错误提示,这通常发生在尝试执行存储过程、触发器或者视图等对象时,这些对象的定义者...
select name,db from mysql.proc; delimiter $ DROP PROCEDURE p2$ CREATE PROCEDURE p2(in xname varchar(30),out xpassword varchar(50)) begin select password into xpassword from tb_users where name =...
`mysql-proc.rar`这个压缩包文件似乎包含了专门关于MySQL中的过程(PROC)部分的教程。`MYSQL_mysql proc_mysql教程`的标题提示我们,这份资料将深入讲解MySQL的存储过程(PROC),这是数据库管理员和开发人员在编写...
原版的oracle proc开发手册,英文书籍。 This chapter introduces you to the Pro*C/C Precompiler. You look at its role in developing application programs that manipulate Oracle data and find out what it ...
- `SELECT * FROM table1 JOIN table2 ON table1.column = table2.column;`: 结合两个表的数据,基于它们之间的关联列。 17. **子查询**: - `(SELECT column FROM table WHERE condition)`: 在主查询中嵌套查询...
SQL语句对单个的MySQL存储过程导出 首先确保参数secure-file-priv='' 表示不限制mysqld在任意目录...FROM MYSQL.PROC A WHERE A.NAME = PRO_NAME INTO OUTFILE "/HOME/MYSQL/PRO_NAME.SQL" FIELDS ESCAPED BY '';
MySQL是世界上最受欢迎的关系型数据库管理系统(RDBMS)之一,被广泛应用于网站开发、数据分析、企业应用等场景。本文将详细解析《MySQL语法语句大全》文档中的关键知识点,帮助你深入理解和掌握MySQL的核心功能。 ...
在Linux操作系统中,proc文件系统(procfs)是一个非常重要的组成部分,它提供了一个接口,使得用户可以获取和修改内核运行时的状态。procfs是一个虚拟文件系统,它并不占用磁盘空间,而是直接映射内核数据结构。在...
PROC,全称是Procedure,是SAS编程语言中的一个核心组成部分,主要用于执行特定的数据处理任务。在SAS环境中,PROC语句提供了丰富的统计分析、数据转换、报告生成等功能,是SAS用户日常工作中不可或缺的一部分。本...
本篇将详细解析标题“mysql_proc_page_order.zip_page_proc_page_排序MYSQL”所涵盖的知识点,以及如何在MySQL中实现翻页与排序的存储过程。 首先,我们需要了解SQL中的`ORDER BY`子句,它是用于对查询结果进行排序...
这些权限由`mysql.db`、`mysql.tables_priv`、`mysql.columns_priv`和`mysql.proc_priv`等字典表管理。例如,`mysql.db`和`mysql.tables_priv`都可以定义用户对表的操作权限,但MySQL通过权限粒度来区分,更具体的...
The PT7314E is an audio processor designed for versatile application, including 4 stereo input selectors with adjustable gain, master volume control with low frequency loudness compensation, speaker ...
7.3.1 How to Determine What the Current Thread is Executing . 94 7.3.2 Analyzing the Threads of the Program . . . . . 95 7.4 Familiarize Yourself with Threading Analysis Tools . . . . . 96 7.5 ...
接下来,你可以使用`mysqladmin version status proc`命令检查MySQL的运行状态。若无异常,应显示相关信息。 要查看已安装的数据库,输入: ``` mysql> show databases; ``` 如果一切顺利,那么MySQL已经可以在...
将A数据的USERNAME用户的数据导出后,再导入到B数据库中的USERNAME时,在USERNAME用户下在执行表数据查询时出现如下问题: ORA-06550: 第 1 行, 第 7 列: PLS-00201: 必须声明标识符 ‘SYSTEM.PROC_AUDIT’ ORA-06550: ...
很抱歉,根据您提供的信息,"proc.rar" 可能是一个重复或错误的输入,没有提供足够的具体细节来生成一篇超过1000字的文章。通常,"proc" 在IT领域指的是“进程”,在Linux或Unix系统中,"/proc" 是一个虚拟文件系统...
proc(5) - Linux man page(中文翻译) proc(5)是 Linux 系统中的一个伪文件系统,它提供了进程信息的接口,挂载在/proc目录下。该目录下的文件大多数是只读的,但某些文件也允许内核变量被修改。 proc(5)的主要...
然后重启安装MySQL5.1(我以前遇到过服务启动不了的情况,这样做就搞定了),可配置到最后一步时出现Cannot create windows service for MySQL.error:0错误,把配置工具关掉重试几次都不行,后来百度了下,听说要...