Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Backup funciones triggers y procedimientos

Estas en el tema de Backup funciones triggers y procedimientos en el foro de Mysql en Foros del Web. hola tengo un pequeño problema y esque no se como hacer un backuop correcto de mis bases de datos que contienen funciones triggers y vistas, ...
  #1 (permalink)  
Antiguo 24/02/2009, 01:55
 
Fecha de Ingreso: mayo-2007
Mensajes: 51
Antigüedad: 16 años, 11 meses
Puntos: 0
Backup funciones triggers y procedimientos

hola tengo un pequeño problema y esque no se como hacer un backuop correcto de mis bases de datos que contienen funciones triggers y vistas, me explico el buckuo se hace sin problemas pero luego restauracion no funciona tira errores por tos lados y sobre todo no se inserta ninguna funcion trigger o procedimiento las bases de datos son generalmente inno db aver que slucion me dais
  #2 (permalink)  
Antiguo 24/02/2009, 05:26
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Backup funciones triggers y procedimientos

Primero deberías se un poco más claro respecto de qué errores son los que tira. Sin indicarnos cuales son los mensajes que se producen, las razones del error pueden ser múltiples, desde diferencia de versiones a errores de sintaxis en los triggers.
Pero de todos modos, anticipándome a una posibilidad, debes asegurarte que las funciones donde leas y escribas sobre tablas, contengan antes del BEGIN una línea que diga MODIFIES SQL DATA o bien READS SQL DATA (ver manual de referencia: 19.2.1. CREATE PROCEDURE y CREATE FUNCTION.
Hago esta salvedad la hago porque las interfases (consola o MySQL Query Browser) aceptan y ejecutan el código sin estas cláusulas, pero cuando realizar backups la restauración falla.
Fíjate si ese es el caso.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 25/02/2009, 05:44
 
Fecha de Ingreso: mayo-2007
Mensajes: 51
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Backup funciones triggers y procedimientos

Hola gracias pro contestar veras el problema que tenemos es que cuando hacemos los backups lo s hacemos de la siguiente forma mysqldump --databases -u xxxxx -p
pero el backup que resulta no nos es valido por que cunado inteamos regenerarlo da fallos muchos fallos no sabria decirte cuales esactamente pro que la solucion que hemos adoptado es la de hacerlo por pasos primero sacar las tablas con sus datos y restaurarlo quitando los comentarios que mete mysqldump (#go...etc), entonces queremos saver de que manera o cual es la manera para hacer un correcto backup de una base de datos con tablas innodb y que contienen funciones procedures y triggers.

saludos y gracias por tu ayuda.
  #4 (permalink)  
Antiguo 25/02/2009, 06:28
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Backup funciones triggers y procedimientos

Yo habitualmente realizo backups y restauraciones de esos backups, algunso de los cuales contienen hasta 2.8 Gb de datos, y lo hago restaurando la base completa, la cual tiene definidos más de 40 Store Procedures y alrededor de 25 Store Functions, además de una docena de triggers, y todo eso sin problemas. Las tablas son InnoDB en su inmensa mayoría y además hay una media docena de tablas MyISAM.
Con todo eso quiero decirte que conozco el problema y tuve que manejar el problema de errores de restauración de funciones y triggers que no se cargaban y me cortaban todo.
Pero de tu post final no se desprende una respuesta a las cosas que debías revisar primero:

1. ¿Los SP y las SF de esa o esas bases, contienen la cláusula MODIFIES SQL DATA o READS SQL DATA, en los casos en que accedan o modifiquen datos en tablas?

2. ¿La restauración se realiza en la misma máquina y sobre el mismo SO?

3. ¿Se realiza sobre instancias de MySQL de la misma versión?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 25/02/2009, 06:53
 
Fecha de Ingreso: mayo-2007
Mensajes: 51
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Backup funciones triggers y procedimientos

1. no no la contienen pero hemos echo la prueba y no nos ha funcionado.

2y3.La restauracion la estamos haciendo de un windows 2003 server con mysql 4.1.7 a un linux suse, con mysql 5.0.51a, pero0 hemos probado haciendo el backup y restaurando en la misma maquina y sigue sin funcionar, ¿nos puedes decir como haces el backup?, ¿y la restauración?.
  #6 (permalink)  
Antiguo 25/02/2009, 07:49
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Backup funciones triggers y procedimientos

Vamos desde lo básico:

1. La operación que estás tratando de hacer está mal pensada desde el inicio. Lo que tienes que hacer no es una restauración simple de un backup. Lo que estás tratando de hacer es una migración de una base de datos entre versiones no totalmente compatibles. Ten en cuenta que si estás intentando migrar la base desde la versión 4.1 a la 5.0 o superior, siempre hay sentencias y estructuras que cambian. Esas cosas (por ejemplo, los campos ENUM, la definición de las vistas, los tipos de tablas) cambian de una versión a otra. Tanto si lo estás haciendo de la 4 a la 5, como de la 5 a la cuatro, hay elementos incompatibles.

2. Estás cruzando bases de datos entre dos sistemas operativos distintos. En estos casos debes tener en cuenta que Linux, como buen heredero del Unix, diferencia entre mayúsculas y minúsculas, por lo que pueden existir problemas de sintaxis provenientes de allí y que no sean detectables.

3. Los store routines y triggers no existen en MySQL 4.1.7. Jamás se cargarán, por la simple razón de que no los reconoce. No son parte de la versión 4.

4. Si estás intentando realizar un backup desde la versión 5.1 o posterior, puede que no se estén incorporando los SP y SF. Según el manual, el comando debería ser:
Código:
mysqldump -R -h host -u username -p my_db > my_db.sql
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 16/11/2011, 12:13
 
Fecha de Ingreso: abril-2009
Mensajes: 6
Antigüedad: 15 años
Puntos: 0
De acuerdo Respuesta: Backup funciones triggers y procedimientos

gnzsoloyo, gracias por tu comentario, yo no utilizaba la opción -R de mysqldump por eso mis funciones no pasaban

Saludos cordiales
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:33.