PDA

View Full Version : Error restoring from backup.


jaspen
09-01-2019, 10:53 AM
Not sure if this is an issue or if it can be ignored. Everything appears to run fine afterwards but I wanted to side on the side of caution.

When restoring from a backup, I drop the peq database, create a blank peq database, and then import from a compressed backup of the database that was done using the eqemu_server.pl file. Upon doing so I always get the following error in which the script stops...

/*!50001 VIEW `vw_groups` AS select `g`.`groupid` AS `group_id`,`GetMobType`(`g`.`name`) AS `mob_type`,`g`.`name` AS `name`,`g`.`charid` AS `mob_id`,ifnull(`c`.`level`,`b`.`level`) AS `level` from ((`group_id` `g` left join `character_data` `c` on((`g`.`name` = `c`.`name`))) left join `bot_data` `b` on((`g`.`name` = `b`.`name`))) */;
/* SQL Error (1305): FUNCTION test.GetMobType does not exist */

Uleat
09-01-2019, 07:38 PM
The backup process doesn't appear to grab functions..

..you'll need to add it back manually.


DELIMITER $$

CREATE FUNCTION `GetMobType` (mob_name VARCHAR(64)) RETURNS CHAR(1)
BEGIN
DECLARE Result CHAR(1);

SET Result = NULL;

IF ((SELECT COUNT(*) FROM `character_data` WHERE `name` = mob_name) > 0) THEN
SET Result = 'C';
ELSEIF ((SELECT COUNT(*) FROM `bot_data` WHERE `name` = mob_name) > 0) THEN
SET Result = 'B';
END IF;

RETURN Result;
END$$



EDIT: (For anyone not sure what to do with that, run it as a query on the database)

Huppy
09-02-2019, 12:25 AM
This is just me, doing things manually all the time, but using the --routines backs up the views and functions as well.
Example: (assuming "peq" is name of database, and "*****" is db password") :
mysqldump --routines -u root -p***** peq > peq_backup.sql