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

Ejecutar Procedimiento al arrancar servidor de MySQL

Estas en el tema de Ejecutar Procedimiento al arrancar servidor de MySQL en el foro de Mysql en Foros del Web. Alguien puede decirme si se puede automatizar la ejecución de un Procedure nada más arrancar el servidor MySQL? El motivo es que he diseñado una ...
  #1 (permalink)  
Antiguo 11/02/2012, 15:02
 
Fecha de Ingreso: agosto-2009
Mensajes: 101
Antigüedad: 14 años, 7 meses
Puntos: 0
Ejecutar Procedimiento al arrancar servidor de MySQL

Alguien puede decirme si se puede automatizar la ejecución de un Procedure nada más arrancar el servidor MySQL?

El motivo es que he diseñado una base de datos y para agilizar las respuestas, creo una serie de tablas temporales que quiero que rellenar automáticamente al inicializar el servidor. En realidad esto no se hace muchas veces, pero me ha entrado la curiosidad.

Un saludo.
combuilder
  #2 (permalink)  
Antiguo 11/02/2012, 15:39
 
Fecha de Ingreso: junio-2011
Mensajes: 139
Antigüedad: 12 años, 10 meses
Puntos: 42
Respuesta: Ejecutar Procedimiento al arrancar servidor de MySQL

Hola combuilder,

Lee la siguiente sección del manual de MySQL 5.1.2. Server Command Options (init-file)
  #3 (permalink)  
Antiguo 12/02/2012, 05:57
 
Fecha de Ingreso: agosto-2009
Mensajes: 101
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Ejecutar Procedimiento al arrancar servidor de MySQL

Perfecto!
No sabía cómo se podía hacer!
  #4 (permalink)  
Antiguo 22/03/2012, 03:57
 
Fecha de Ingreso: agosto-2009
Mensajes: 101
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Ejecutar Procedimiento al arrancar servidor de MySQL

Retomo el tema, porque ahora es cuando lo estoy poniendo en práctica, y si bine, al principio, no lo conseguí, ahora si que me funciona.

Me conecto a la base de datos desde WorkBench para modificar el fichero my.ini, y marco la opción de ejecutar fichero ini, en la solapa General dentro de las opciones de configuración.

El fichero ini que tengo es el siguiente:
Código MySQL:
Ver original
  1. USE sdv_comun;
  2. CALL sdv_comun.actualizaTmp();

Se trata, primero, de conectarme a una base de datos concreta, y después, ejecutar un PROCEDURE, cuya función es actualizar una serie de tablas MEMORY.

Espero que a alguien le pueda servir!

Última edición por combuilder; 22/03/2012 a las 15:14
  #5 (permalink)  
Antiguo 22/03/2012, 15:15
 
Fecha de Ingreso: agosto-2009
Mensajes: 101
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Ejecutar Procedimiento al arrancar servidor de MySQL

Pues resulta curioso que ... esto mismo NO FUNCIONA en Windows 7.

Código MySQL:
Ver original
  1. FROM C:\ProgramData\MySQL\MySQL Server 5.5\data\XXXX.err:
  2.  
  3.     120322 22:07:21  [Note] Plugin 'FEDERATED' is disabled.
  4.  
  5.     120322 22:07:21  InnoDB: The InnoDB memory heap is disabled
  6.  
  7.     120322 22:07:21  InnoDB: Mutexes and rw_locks use Windows interlocked functions
  8.  
  9.     120322 22:07:21  InnoDB: Compressed tables use zlib 1.2.3
  10.  
  11.     120322 22:07:21  InnoDB: Initializing buffer pool, size = 93.0M
  12.  
  13.     120322 22:07:21  InnoDB: Completed initialization of buffer pool
  14.  
  15.     120322 22:07:21  InnoDB: highest supported file format is Barracuda.

Alguien puede ayudarme con esto?

No me funciona incluso aunque acceda al Workbench como navegador!
  #6 (permalink)  
Antiguo 23/03/2012, 02:53
 
Fecha de Ingreso: junio-2011
Mensajes: 139
Antigüedad: 12 años, 10 meses
Puntos: 42
Respuesta: Ejecutar Procedimiento al arrancar servidor de MySQL

Hola combuilder,

Tengo Win7 con MySQL 5.5, al ejecutar un procedimiento almacenado desde el comando init-file dentro del my.ini no tengo ningún problema.

¿Puedes dar más detalles del error?
  #7 (permalink)  
Antiguo 23/03/2012, 04:11
 
Fecha de Ingreso: agosto-2009
Mensajes: 101
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Ejecutar Procedimiento al arrancar servidor de MySQL

¿que detalles necesitas? o mejor dicho ... ¿cómo averiguo qué error me está dando?

Lo curioso es que en Win XP funciona sin problema, y en Win 7 no funciona.

Voy a probar el fichero ini de Win7 en la maquina XP y alrevés!
  #8 (permalink)  
Antiguo 23/03/2012, 04:40
 
Fecha de Ingreso: junio-2011
Mensajes: 139
Antigüedad: 12 años, 10 meses
Puntos: 42
Respuesta: Ejecutar Procedimiento al arrancar servidor de MySQL

Hola combuilder,

Al iniciar el servidor MySQL en Win7:

1.- ¿Inicia correctamente?
2.- ¿Realmente el problema es por iniciar MySQL con el comando init-file dentro de tu fichero my.ini?
3.- ¿Si eliminas el comando init-file del fichero my.ini todo inicia sin problemas?
  #9 (permalink)  
Antiguo 23/03/2012, 06:02
 
Fecha de Ingreso: agosto-2009
Mensajes: 101
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Ejecutar Procedimiento al arrancar servidor de MySQL

Cita:
Iniciado por wchiquito Ver Mensaje
Hola combuilder,

Al iniciar el servidor MySQL en Win7:

1.- ¿Inicia correctamente?
2.- ¿Realmente el problema es por iniciar MySQL con el comando init-file dentro de tu fichero my.ini?
3.- ¿Si eliminas el comando init-file del fichero my.ini todo inicia sin problemas?
1.- Si, inicia correctamente!
3.- Si elimino init-file, inicia CORRECTAMENTE
2.- cuando incluyo init-file, NO INICIA

Cómo veo qué error me salta en el Workbench? Tengo la versión 5.2.38, que la he actualizado hoy mismo!
  #10 (permalink)  
Antiguo 23/03/2012, 06:27
 
Fecha de Ingreso: junio-2011
Mensajes: 139
Antigüedad: 12 años, 10 meses
Puntos: 42
Respuesta: Ejecutar Procedimiento al arrancar servidor de MySQL

Hola combuilder,

¿Es posible publicar parte del fichero my.ini, específicamente la línea del comando init-file? ¿El fichero "XXXX.err" registra solamente lo que muestras en el post?
  #11 (permalink)  
Antiguo 23/03/2012, 06:59
 
Fecha de Ingreso: agosto-2009
Mensajes: 101
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Ejecutar Procedimiento al arrancar servidor de MySQL

Cita:
Iniciado por wchiquito Ver Mensaje
¿Es posible publicar parte del fichero my.ini, específicamente la línea del comando init-file?
La linea en Win XP es:
init-file = "C:/Archivos de programa/MySQL/startup.sql"

y en Win7:
init-file = "C:\ProgramData\MySQL\startup.sql"

No se si la \ o / tendrá que ver ....

Cita:
Iniciado por wchiquito Ver Mensaje
¿El fichero "XXXX.err" registra solamente lo que muestras en el post?
Si, eso es lo que muestra XXXX.err
  #12 (permalink)  
Antiguo 23/03/2012, 07:54
 
Fecha de Ingreso: junio-2011
Mensajes: 139
Antigüedad: 12 años, 10 meses
Puntos: 42
Respuesta: Ejecutar Procedimiento al arrancar servidor de MySQL

Hola combuilder,

Win7 no debe encontrar el fichero "startup.sql" en la ruta "C:\ProgramData\MySQL\" y MySQL lo debería registrar en "XXXX.err".

Modifica con una (1) de las siguientes formas:

Win7:
init-file=C:\\ProgramData\\MySQL\\startup.sql
o
init-file=C:/ProgramData/MySQL/startup.sql

Etiquetas: procedimiento, servidor, sql, tabla
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 04:45.