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

MysqlDump

Estas en el tema de MysqlDump en el foro de Mysql en Foros del Web. HOla Una duda... he conseguido creear copias de segu lanzando sqldump de Mysql pero tendo dos dudas - Si lanzo el .bat desde otra máquina ...
  #1 (permalink)  
Antiguo 13/05/2012, 12:09
 
Fecha de Ingreso: enero-2008
Mensajes: 229
Antigüedad: 16 años, 3 meses
Puntos: 0
MysqlDump

HOla
Una duda... he conseguido creear copias de segu lanzando sqldump de Mysql pero tendo dos dudas

- Si lanzo el .bat desde otra máquina conectada por red hace la copia de la base de datos indicada en localhost entiendo (no en local)
mysqldump -h localhost -u [MySQL user, e.g. root] -p[database password] -c --add-drop-table --add-locks --all --quick --lock-tables [name of the database] > sqldump.sql

- Y otra cosa... como crear copias de seguridad desde el editor sql? A través de sentencia digo... algo como backup basededatos... y sino se puede (q me extraña), como lanzar sqldump desde el editor entonces?

Gracias
  #2 (permalink)  
Antiguo 13/05/2012, 14:42
 
Fecha de Ingreso: mayo-2012
Mensajes: 42
Antigüedad: 11 años, 11 meses
Puntos: 5
Respuesta: MysqlDump

Hola chascos69,

Que yo sepa no existe forma de hacerlo como tu dices, desde la interfaz gráfica (Workbench) si se puede hacer en la parte de administración.

Pero para no complicarte tanto las cosas podrías añadirle a tu archivo .bat un par de cosillas y crear una tarea que mande ejecutarse ese archivo diariamente, y que cada copia te la guarde en una carpeta con la fecha diaria. Puede ser en una carpeta (por si tienes que guardar mas cosas) o el propio nombre del archivo del dump, eso tu mismo.

Te dejo el código:

Código:
@echo off

rem extraemos la fecha del sistema (muy rudimentario, si, pero... es güindous).
for /f "tokens=1 delims=/" %%d in ('date /T') do (set dia=%%d)
for /f "tokens=2 delims=/" %%m in ('date /T') do (set mes=%%m)
for /f "tokens=3 delims=/" %%a in ('date /T') do (set ano=%%a)

rem corregimos error de extracción en ano (¿¡Qué!? jaja)
set ano=%ano:~0,-1%

rem creamos y nos posicionamos en la carpeta con esa fecha. El nombre lo
rem puedes formatear como quieras
md "%dia%-%mes%-%ano%"
cd "%dia%-%mes%-%ano%"

rem aqui va el code del dump
Ahora sólo tendrías que ir al administrador de tareas del güindous (el del ctrl,shift,esc, no, el otro) y añadir una nueva tarea díaria que ejecute ese archivo.Espero que te sirva,

¡Un saludo!
  #3 (permalink)  
Antiguo 14/05/2012, 01:18
 
Fecha de Ingreso: enero-2008
Mensajes: 229
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: MysqlDump

No se puede lanzar copias de segu desde el editor sql? Vaya...

Y ese bat si lo ejecuta otro usuario de otra máquina tb hará la copia de la bbdd del server y no en local no?

Sabes lo q ocurre con esto?... q todo usuario que quiera crear copias de seguridad ha de tener instalado obligatoriamente el MySQL para poder tener el sqldump.exe. Y si son 50 máquinas las q se conectan al MySQl ya me dirás....

Es mas, si lo q tengo es una aplicación NET q trabaja contra MySQL y utilo la dll de MySQL para conectar... ahé no tengo el sqldump. A menos q desde la dll de MySQl se puedan crear copias de seguridad (q lo dudo) si el user no se instala el MySQL no podrá hacerlo... entiendo
  #4 (permalink)  
Antiguo 14/05/2012, 07:08
 
Fecha de Ingreso: mayo-2012
Mensajes: 42
Antigüedad: 11 años, 11 meses
Puntos: 5
Respuesta: MysqlDump

hola chascos69,

Nose si me has entendido del todo. El archivo .bat se guarda en el servidor, y la tarea se ejecuta en el servidor. A no ser que quieras hacer una copia fuera del horario establecido en la tarea no deberías tener todos esos problemas.

Es decir, tu dejas la tarea programada, para que diariamente se ejecute localmente ese archivo. Y te olvidas. Si lo sigues sin entender vuelve a preguntar, sin problema.

Si ejecutas el bat desde otra máquina la cosa cambia, y el problema reside en el modo en que lo ejecutes. Si lo ejecutas directamente en la otra máquina deberías cambiar la dirección del servidor (localhost) por la dirección de red (bien ip o bien wins... mejor ip ^^) y como dices tu tener el mysqldump instalado. Si lo ejecutas en una sesión de telnet por ejemplo creo que sería una cosa mas bien así: "call rutaarchivo\archivo.bat"

¡Un saludo!
  #5 (permalink)  
Antiguo 14/05/2012, 14:48
 
Fecha de Ingreso: enero-2008
Mensajes: 229
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: MysqlDump

No me explicado... quiero poder lanzar las copias de seguridad ejecutando el bat desde cualquier estación...

POr eso esto:
"Sabes lo q ocurre con esto?... q todo usuario que quiera crear copias de seguridad ha de tener instalado obligatoriamente el MySQL para poder tener el sqldump.exe. Y si son 50 máquinas las q se conectan al MySQl ya me dirás....

Es mas, si lo q tengo es una aplicación NET q trabaja contra MySQL y utilo la dll de MySQL para conectar... ahé no tengo el sqldump. A menos q desde la dll de MySQl se puedan crear copias de seguridad (q lo dudo) si el user no se instala el MySQL no podrá hacerlo... entiendo"

Entiendo q sino está instalado el mysql y por lo tanto el mysqldump en cada estación no puedo llamar al bat... no?

Etiquetas: mysqldump, sql
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:12.