示例: mysql> DELIMITER $$ mysql> CREATE PROCEDURE QQ() -> BEGIN -> SELECT * FROM test; -> END -> $$ Query OK, 0 rows affected (0.00 sec) 假设你在MYSQL SHELL下建立SP
贴你的create procedure语句。是不是没有权限?
mysql> DELIMITER // mysql> CREATE PROCEDURE TEST() -> BEGIN -> SELECT NOW(); -> END -> // ERROR 1307 (HY000): Failed to CREATE PROCEDURE Test
root 登陆的 能够创建触发器 创建存储过程和函数的错误是一样的。。
在SHELL下 use mysql; select * from user where user="username" 贴结果
未选数据库,的错误信息是: No database selected估计楼主的问题是不是做过数据库的升级?
localhost root Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y 0 0 0 0production root Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y 0 0 0 0127.0.0.1 root Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y 0 0 0 0
mysql> DELIMITER $$
mysql> CREATE PROCEDURE QQ()
-> BEGIN
-> SELECT * FROM test;
-> END
-> $$
Query OK, 0 rows affected (0.00 sec)
假设你在MYSQL SHELL下建立SP
mysql> DELIMITER //
mysql> CREATE PROCEDURE TEST()
-> BEGIN
-> SELECT NOW();
-> END
-> //
ERROR 1307 (HY000): Failed to CREATE PROCEDURE Test
能够创建触发器
创建存储过程和函数的错误是一样的。。
use mysql;
select * from user where user="username"
贴结果
localhost root Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y 0 0 0 0production root Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y 0 0 0 0127.0.0.1 root Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y 0 0 0 0
还有几个字段值是特殊的 ssl_type(空值), ssl_cipher(BLOB),x59_issuer(BLOB),X59_SUBJECT(BLOB),最后四个字段值是0 其余的全是Y
然后试一下是否能创建存储过程。如果可以,则把原数据库倒出mysqldump,重建后再导入。