ApmServ mysql(#1307 :Failed to create procedure 和#1577等錯誤)解決方法

      今天同事讓幫忙寫個定時任務 ,使用phpmyadmin建存儲過程時,一直提示error 1307 :Failed to create procedure

改成最簡單的都通不過。

      網上一查才知。。。

     我使用的ApmServ 5.2.6的mysql中表有問題。從mysql5.1版本開始,系統表的結構進行了很大的調整,必須要進行升級系統表結構才能正常使用。

     如果只建存儲過程,有個臨時處理方法:
            1、root登錄phpmyadmin

            2、將mysql數據庫中的表proc刪除

            3、重建proc表

語句如下:
CREATE TABLE `proc` (
`db` char(64) character set utf8 collate utf8_bin NOT NULL default '',
`name` char(64) NOT NULL default '',
`type` enum('FUNCTION','PROCEDURE') NOT NULL,
`specific_name` char(64) NOT NULL default '',
`language` enum('SQL') NOT NULL default 'SQL',
`sql_data_access` enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') NOT NULL default 'CONTAINS_SQL',
`is_deterministic` enum('YES','NO') NOT NULL default 'NO',
`security_type` enum('INVOKER','DEFINER') NOT NULL default 'DEFINER',
`param_list` blob NOT NULL,
`returns` char(64) NOT NULL default '',
`body` longblob NOT NULL,
`definer` char(77) character set utf8 collate utf8_bin NOT NULL default '',
`created` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
`modified` timestamp NOT NULL default '0000-00-00 00:00:00',
`sql_mode` 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','GBASE80','GBASE81','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') NOT NULL default '',
`comment` char(64) character set utf8 collate utf8_bin NOT NULL default '',
`character_set_client` char(32) character set utf8 collate utf8_bin default NULL,
`collation_connection` char(32) character set utf8 collate utf8_bin default NULL,
`db_collation` char(32) character set utf8 collate utf8_bin default NULL,
`body_utf8` longblob,
PRIMARY KEY (`db`,`name`,`type`)
) DEFAULT CHARSET=utf8 COMMENT='Stored Procedures'


要徹底解決還需要升級mysql系統表,下載mysql

1、將mysql_upgrade.exe和mysqlcheck.exe兩個文件複製到 APMServ5.2.6\MySQL5.1\bin目錄下。
2、 開始->運行->輸入cmd回車,在操作提示符下輸入 E:\APMServ5.2.6\MySQL5.1\bin\mysql_upgrade -u root 然後回車,待運行完之後關閉DOS窗口。(將其中的E:\APMserv5.2.6改成你自己實際安裝的目錄即可)
3、停止APMserv後再重新啓動APMserv一次,問題即可解決。





發佈了19 篇原創文章 · 獲贊 23 · 訪問量 29萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章