`
jsx112
  • 浏览: 314979 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

mysql无法创建存储过程问题 ERROR 1307 (HY000)

阅读更多

引用:http://linuxguest.blog.51cto.com/195664/389169

今天由于需要批量生成一些游戏账号,所以打算用存储过程来实现,这样速度会快很多。结果却是用了大量时间,主要原因是mysql server不知道出了点什么问题,运行创建procedure的语句,一直报错。

语句如下:

USE test  
delimiter //  
create procedure createuser()  
BEGIN  
DECLARE a INT default 8000;  
while a < 10000 do  
insert into t (id,pw) values (a,md5('xxxxxx'));  
set aa = a + 1;  
END WHILE;  
END;// 

  

错误提示 ERROR 1307 (HY000): Failed to CREATE PROCEDURE createuser

搞了很久,我跑到mysql5.0的服务器执行,能够通过,难道是语法问题?我去查了5.1的手册,没有问题。有用了其他5.1的机器测试,可以通过。

最后再mysql官方找到了这样的解决方案,执行 /usr/local/mysql/bin/mysql_upgrade工具,对表进行检查,检查结果如下,并未发现什么错误,但是可以创建存储过程了。

 

[root@zj6 ~]# /usr/local/mysql/bin/mysql_upgrade   
Looking for 'mysql' as: /usr/local/mysql/bin/mysql  
Looking for 'mysqlcheck' as: /usr/local/mysql/bin/mysqlcheck  
Running 'mysqlcheck' with connection arguments: '--port=9188' '--socket=/var/lib/mysql/mysql.sock'   
Running 'mysqlcheck' with connection arguments: '--port=9188' '--socket=/var/lib/mysql/mysql.sock'   
ZION_GAME_DB.BADUser                               OK  
ZION_GAME_DB.MAPOwnerGuild                         OK  
ZION_GAME_DB.actionlimit                           OK  
ZION_GAME_DB.billinfo                              OK  
ZION_GAME_DB.completemission                       OK  
ZION_GAME_DB.currentmission                        OK  
ZION_GAME_DB.email                                 OK  
ZION_GAME_DB.emailitems                            OK  
ZION_GAME_DB.equipitems                            OK  
ZION_GAME_DB.familyinfo                            OK  
ZION_GAME_DB.familymember                          OK  
ZION_GAME_DB.familymission                         OK  
ZION_GAME_DB.groupdata                             OK  
ZION_GAME_DB.invenitems                            OK  
ZION_GAME_DB.loopmission                           OK  
ZION_GAME_DB.microcosm                             OK  
ZION_GAME_DB.pet                                   OK  
ZION_GAME_DB.safegarbage                           OK  
ZION_GAME_DB.sale                                  OK  
ZION_GAME_DB.saleprice                             OK  
ZION_GAME_DB.signpost                              OK  
ZION_GAME_DB.titledata                             OK  
ZION_GAME_DB.userfriend                            OK  
ZION_GAME_DB.usergarbage                           OK  
ZION_GAME_DB.userinfo                              OK  
ZION_GAME_DB.userskills                            OK  
ZION_GAME_DB.usersubinfo                           OK  
ZION_GAME_DB.usertable                             OK  
ZION_LOG_DB.BillItemLog                            OK  
ZION_LOG_DB.DeleteLog                              OK  
ZION_LOG_DB.GarbageLog                             OK  
ZION_LOG_DB.GarbageMoneyLog                        OK  
ZION_LOG_DB.ItemLog                                OK  
ZION_LOG_DB.LevelItemLog                           OK  
ZION_LOG_DB.LevelLog                               OK  
ZION_LOG_DB.LoginLog                               OK  
ZION_LOG_DB.MoneyLog                               OK  
ZION_LOG_DB.MyShopLog                              OK  
ZION_LOG_DB.StressLog                              OK  
ZION_LOG_DB.deluserinfo                            OK  
ZION_LOG_DB.delusertable                           OK  
mysql.columns_priv                                 OK  
mysql.db                                           OK  
mysql.event                                        OK  
mysql.func                                         OK  
mysql.general_log  
Error    : You can't use locks with log tables.  
status   : OK  
mysql.help_category                                OK  
mysql.help_keyword                                 OK  
mysql.help_relation                                OK  
mysql.help_topic                                   OK  
mysql.host                                         OK  
mysql.ndb_binlog_index                             OK  
mysql.plugin                                       OK  
mysql.proc                                         OK  
mysql.procs_priv                                   OK  
mysql.servers                                      OK  
mysql.slow_log  
Error    : You can't use locks with log tables.  
status   : OK  
mysql.tables_priv                                  OK  
mysql.time_zone                                    OK  
mysql.time_zone_leap_second                        OK  
mysql.time_zone_name                               OK  
mysql.time_zone_transition                         OK  
mysql.time_zone_transition_type                    OK  
mysql.user                                         OK  
test.t                                             OK  
Running 'mysql_fix_privilege_tables'...  
OK 

 

分享到:
评论

相关推荐

    MySQL error code 145 Table was marked as crashed and should be repaired

    如果上述方法都无法解决问题,或者修复过程中出现了其他问题,建议先备份现有数据,然后尝试创建一个新的空表,并将数据重新导入新表中。 4. **使用第三方工具** 除了上述方法外,还可以考虑使用第三方的MySQL表...

    mysql错误文档.doc

    6. 错误1005(HY000 ER_CANT_CREATE_TABLE):无法创建表格,可能的原因包括表名已存在、语法错误或者存储引擎问题。 7. 错误1006(HY000 ER_CANT_CREATE_DB):创建数据库失败,可能是数据库名已存在或权限不足。 ...

    MySQL 线上运维常见错误、疑难问题录

    当尝试将通过`mysqldump`从本地环境导出的数据导入到服务器上的MySQL数据库时,可能会遇到一个错误提示:“ERROR 2005 (HY000): Unknown MySQL server host 'mysql'”。此错误导致数据导入中断,并且用户被迫退出...

    解析在MySQL里创建外键时ERROR 1005的解决办法

    在MySQL里创建外键时,提示错误,但只提示很简单的信息:ERROR 1005 (HY000): Can’t create table ‘db_qxztc.qx_userssssnew’ (errno: 150)。根本起不到解决问题的作用。 要看错误的详细提示,可以使用命令:(在...

    mysql 教程-创建数据库.pdf

    ERROR 1007 (HY000): Can't create database 'test'; database exists ``` 为了避免这种错误,你可以使用带`IF NOT EXISTS`条件的`CREATE DATABASE`语句,这样只有在数据库不存在时才会执行创建操作,且不会出现...

    mysql设置触发器权限问题的解决方法.pdf

    Error 1419 (HY000): You do not have the super privilege and binary logging is enabled. 这意味着用户没有足够的权限来创建或修改触发器。这种情况通常发生在启用二进制日志记录(Binary Logging)选项的...

    MySQL DBA线上疑难杂症化解全揭秘

    首先,关于错误代码ERROR 2005 (HY000): Unknown MySQL server host 'mysql'的问题。当使用mysqldump工具从本地导出数据到服务器上进行导入时,可能会遇到这种错误。该问题的出现可能是由于多种原因,例如数据不完整...

    MySQL 出现错误1418 的原因分析及解决方法

    MySQL 错误1418通常发生在尝试创建或调用存储过程、函数或触发器时,错误信息提示“ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary ...

    mysql 报错This function has none of DETERMINISTIC解决方案

    如果你的函数没有声明以上任何一个特性,而bin-log又已启用,MySQL就会抛出“ERROR 1418 (HY000)”错误。 解决这个问题的方法是明确指定函数的特性,或者调整MySQL的配置。你可以通过设置全局变量`log_bin_trust_...

    MySQL 超级入门教程

    - **常见错误处理**:如果遇到错误提示“ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)”,通常意味着MySQL服务未运行。 - **退出连接**:通过输入`QUIT`或按`...

    开启bin-log日志mysql报错的解决方法

    然而,在开启bin-log时,可能会遇到一些问题,比如在创建存储过程时出现的错误:`ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging...

    mySql解压版进行配置说明

    - **错误2**:设置密码时报错“ERROR 1820 (HY000): You must SET PASSWORD before executing this statement”。 - 解决方案:如上所述,先使用`SET PASSWORD`命令设置密码,然后再执行其他操作。 #### 四、...

    MySQL错误代码大全

    - 错误:1005 (SQLSTATE: HY000) - 无法创建表:这通常发生在创建新表时,可能是由于语法错误、存储引擎问题或者重复的键值。 - 错误:1006 (SQLSTATE: HY000) - 无法创建数据库:数据库创建失败,可能是因为数据库...

    mySQL基础语法,介绍mysql的语法基础

    如果数据库已存在,再次运行该语句会导致错误 `ERROR 1007 (HY000): Can't create database 'test3'; database exists`。为了避免这种错误,我们可以使用 `IF NOT EXISTS` 子句: ```sql CREATE DATABASE IF NOT ...

    MySql数据分区操作之新增分区操作

    首先,尝试直接通过`ALTER TABLE`语句添加分区到非分区表会导致错误,MySQL会返回`ERROR 1505 &lt;HY000&gt;: Partition management on a not partitioned table is not possible`。正确的方法是创建一个新的具有相同结构...

    20分钟MySQL基础入门

    MySQL是世界上最流行的关系型数据库管理系统(RDBMS)之一,它允许用户存储、管理和检索大量结构化数据。本文将简要介绍MySQL的基础知识,包括如何登录、创建数据库、操作数据库表以及执行基本的SQL查询。 首先,让...

    mysql建立自定义函数的问题

    然而,在创建自定义函数时,可能会遇到错误提示"ERROR 1418 (HY000): This routine has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled"。这个错误是由于...

Global site tag (gtag.js) - Google Analytics