Spustil jsem to z příkazového řádku
mysqldump -uroot -proot --no-data --routines --triggers --force test > "c:\Program Files\MySQL\Zalohy\backup.sql"
Odpověď:
mysqldump: mysqldump: Couldn't execute 'SHOW CREATE FUNCTION `SP_PLAN_NAPLNENI_VLOZ`': FUNCTION SP_PLAN_NAPLNENI_VLOZ does not exist (1305
Pak jsem spustil MySQL a zkusil to přes řádek. Stále se hlásím s rootem.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 497 to server version: 5.0.15-nt
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> use TEST
Database changed
mysql> drop function `TEST`.`SP_PLAN_NAPLNENI_VLOZ`;
ERROR 1305 (42000): FUNCTION test.SP_PLAN_NAPLNENI_VLOZ does not exist
mysql> use test;
Database changed
mysql> drop function `test`.`SP_PLAN_NAPLNENI_VLOZ`;
ERROR 1305 (42000): FUNCTION test.SP_PLAN_NAPLNENI_VLOZ does not exist
mysql>
Funkci nelze vymazat standartním způsobem. Nevím jestli pod Windows by to nemělo být jedno ... velká/malá.
Nastavil jsem information _schema a zkusil to přes tabulku
USE information_schema;
mysql> select specific_name from routines where specific_name = 'sp_plan_naplneni_vloz';
+-----------------------+
| specific_name |
+-----------------------+
| SP_PLAN_NAPLNENI_VLOZ |
+-----------------------+
1 row in set (0.03 sec)
mysql>
Stále tam visí.
Zkusil jsem ji vymazat jako záznam.
mysql> delete from routines where specific_name = 'sp_plan_naplneni_vloz';
ERROR 1044 (42000): Access denied for user 'root'@'localhost' to database 'infor
mation_schema'
mysql>
Což podle mne znamená, že MySQL si tuto část chrání a nedovolí ani administrátorovi do ní zasahovat. Což je vlastně logické. Jak se ale zbavit této chyby ... to už nevím.
Ještě jsem zkusil jsem vyexportovat (udělat si nějakou zálohu) v phpMyAdmin
-- phpMyAdmin SQL Dump
-- version 3.2.5
phpMyAdmin vyexportoval routines bez chyby. Řešení pro mě, je ručně zalohovat přes PHPMyAdmina po změnách.
Rád bych ale opravil uvedený problém, abych mohl mít stále aktuální zálohování. Tj aby proběhla plánovaná záloha přes MySQLdump.
Dík za každou radu.
Roman