Sábado 21 de Diciembre de 2024, 12:09
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Bases de Datos
»
MySQL
(Moderador:
F_Tanori
) »
Copia De Seguridad
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Copia De Seguridad (Leído 4972 veces)
jpaler
Miembro MUY activo
Mensajes: 479
Copia De Seguridad
«
en:
Jueves 22 de Marzo de 2007, 23:36 »
0
Hola muchachos !!!
...,Me vi en la necesidad de agregarle una opcion a un soft q estoy haciendo.
La opcion de Crear Copia de Seguridad.
Estuve neciando un programita muy conocido q se llama MySQL Front, el cual
es un entorno grafico para el motor mysql.
De él me agrada muchisimo la opcion q tiene de "Export BD to SQL file", la cual
crea un archivo script.sql con toda la informacion necesaria para crear una base
de datos IDENTICA e incluye los datos y todo...
Muchachos... necesito hacer q mi soft arroge una copia de seguridad en
un script.sql igual q el caso antes mencionado.
¿Alguna idea por donde comenzar?
Gracias....
Tweet
jpaler
Miembro MUY activo
Mensajes: 479
Re: Copia De Seguridad
«
Respuesta #1 en:
Viernes 23 de Marzo de 2007, 17:20 »
0
bueno... por hay estube buscando y al parcer lo q me sirve es una herramienta
q trae el propio MySQL q se llama
mysqldump.exe
voy a buscar pa' ve' q hay de esa herramienta...
RadicalEd
Moderador
Mensajes: 2430
Nacionalidad:
Re: Copia De Seguridad
«
Respuesta #2 en:
Viernes 23 de Marzo de 2007, 20:21 »
0
Si lo haces con mysqldump es muy facil, yo pense que tenias que hacerlo desde alguna aplicación en general y sacar el backup de la DB
, mira la sintaxis es así:
mysqldump --opt db_name > backup-file.sql
El pasado son solo recuerdos, el futuro son solo sueños
jpaler
Miembro MUY activo
Mensajes: 479
Re: Copia De Seguridad
«
Respuesta #3 en:
Sábado 24 de Marzo de 2007, 15:43 »
0
claro radical... a mi tambien me sorprendio lo facil q es trabajar
con mysqldump...
mira lo q hago... desde mi aplicacion en java, mando a ejecutar:
mysqldump.exe --opt -password=123 -user=root > C:\midb.sql
y tengo una inquietud... si te fijas, utilizo lo del pass y user, pero
¿es q acaso debo tener privilegios para poder realizar la copia de
seguridad?
...,pero de ser asi, como se conceden, por q es q estube mirando
de rapidez en la ayuda de mysql lo de los privilegios y no me
parecio ver algo q indique conceder privilegios para copias de
seguridad o algo asi...
radical... y en mi aplicacion es MUY IMPORTANTE esa parte, ya q
no debo dejar el programa abierto para q cualquier usuario cree
copias de seguridad de la informacion de la empresa... es decir, q
solo alguien con dichos privilegios la cree.
----
Salu2 !!!
Kefalegereta
Nuevo Miembro
Mensajes: 2
Re: Copia De Seguridad
«
Respuesta #4 en:
Jueves 28 de Junio de 2007, 16:02 »
0
Hola a todos,
Acabo de descubrir este hilo y es la posible respuesta a lo que llevo buscando mucho tiempo.
Espero podais ayudarme si es que una vez finalizado, habeis encontrado alguna respuesta a lo que buscabais.
De hecho me he regstrado al ver este hilo... mirad la importancia que tiene este tema para mi.
Estoy realizando una aplicación en JAVA que trabaja sobre una base de datos en MySQL en un pc, sin conexión a internet, modifica según quiere el usuario esta base de datos.
Tengo otra base de datos en un servidor web que es exactamente la misma base de datos en MySQL que la que tiene el pc, es una copia. A esta base de datos del servidor accede una web en PHP que solamente consulta los datos.
Necesito que la aplicación en JAVA del pc envíe un backup de la base de datos del pc a la base de datos del servidor web para que así se actualice, cuando el usuario se conecte a internet y apretando a un botoncito de la aplicación JAVA envíe la base de datos.
Buscando buscando he encontrado a MySQLDump pero he visto que se utiliza a través de la consola de comandos de phpMyAdmin de MySQL o a través de la consola de mandos de windows o linux. Mi problema entonces es el siguiente.
¿Cómo utilizo MySQLDump a través de mi código JAVA?
1 - ¿Cómo puedo hacer a través del código de mi aplicación JAVA que se genere el archivo .sql de la backup de la base de datos?
2 - ¿Cómo puedo hacer a través del código de mi aplicación JAVA que la base de datos remota acepte el archivo .sql para hacer la backup de su base de datos?
Supongo que a través de JAVA tendré que crear una conexión a la base de datos del pc y a través de un comando externo decirle a la base de datos que haga un backup utilizando mysqldump y guarde el archivo .sql. PERO NO TENGO NI IDEA DE COMO HACERLO.
Y supongo que una vez hecho esto tendré que abrir otra conexión a la base de datos del servidor y enviarle un comando externo a través de JAVA que le diga que importe el archivo .sql y haga un backup de su base de datos. PERO NUEVAMENTE NO TENGO NI IDEA DE COMO HACERLO.
¿Podríais ayudarme? Muchísimas gracias.
RadicalEd
Moderador
Mensajes: 2430
Nacionalidad:
Re: Copia De Seguridad
«
Respuesta #5 en:
Jueves 28 de Junio de 2007, 16:24 »
0
Busca cual es la función en JAVA para ejecutar comandos, y utiliza el mysqldump para ejecutarlo.
Por ejemplo yo hago Backup de unas tablas en particular con PHPasí:
exec("C:/AppServ/mysql/bin/mysqldump.exe -uusuario -ppassword -hlocalhost -B paginafiles --tables tboutsourcing_check_modi tboutsourcing_check > backup.sql");
Mira que el comando exec ejecuta todo lo que hay dentro del parentesis.
El pasado son solo recuerdos, el futuro son solo sueños
jpaler
Miembro MUY activo
Mensajes: 479
Re: Copia De Seguridad
«
Respuesta #6 en:
Viernes 29 de Junio de 2007, 15:18 »
0
bueno... esto sirve para ejecutar un .exe en java:
Citar
Process p = Runtime.getRuntime().exec("mysqldump.exe");
pero desconozco q asi como se ve... se le puedan agregar los parametros
q necesita mysqldump...
yo no realizo mi copia de seguridad ejecutando a mysqldump directamente
desde java, xq nunca supe como enviarle los parametros desde aki, se q
se puede claro esta... pero pa' no seguir perdiendo el tiempo buscando como
hacerlo, me decidi a hacerlo asi:
Código: Text
String path = "C:\CopiaSeg.sql";
if (!(new File(path)).exists()) {
String cad = "\"" + ruta_mysqldump + "\" --opt --password=" + password + " --user=" + usuario + " " + db + " > \"" + path + "\"\n";
File fcopi = new File("copia_seguridad.bat");
FileWriter fw = new FileWriter(fcopi);
fw.write(cad, 0, cad.length());
fw.close();
pausa(2000);//espero 2 segundos
Process p = Runtime.getRuntime().exec("copia_seguridad.exe");
}
Explico:
Lo q hago es crear un archivo copia_seguridad.bat y le hecho la cadena
q indica q debe ejecutar a mysqldump con el resto deparametros, asi
cad="C:\MySQL\bin\mysqldump.exe" --opt 123 --user root mi_db > C:\CopiaSeg.sql
luego hago una pausa de 2 seg, y ejecuto a copia_seguridad.exe q es un
archivo q hice para q cuando se inicie, ejecute al archivo copia_seguridad.bat
Es algo enredado, ya q doy mucha vuelta... pero aja, asi me toco hacer, xq
no encontre como ejecutar y enviarle parametros a auna aplicacion desde java.
Salu2 !!!
Kefalegereta
Nuevo Miembro
Mensajes: 2
Re: Copia De Seguridad
«
Respuesta #7 en:
Viernes 29 de Junio de 2007, 15:31 »
0
Mmm....
No entiendo el porqué de la existencia del archivo "copia_seguridad.exe", ¿para qué lo utilizas?
¿Y los dos segundos de espera son para dejar tiempo para hacer el bakup? ¿Y si dura más de lo debido? Bueno, mi base de datos no es grande así que supongo también me hará servicio.
¿Y cargas el backup desde JAVA también o lo haces manualmente a MySQL?
Muchísimas gracias por la ayuda, un saludo.
Gracias, de verdad.
jpaler
Miembro MUY activo
Mensajes: 479
Re: Copia De Seguridad
«
Respuesta #8 en:
Viernes 29 de Junio de 2007, 19:29 »
0
como lo hice hace rato... no recuerdo muy bien...
peros si no estoymal, hice copia_de_seguridad.exe para q me ejecutara
al .bat, pues creo q la fucion Runtime.getRuntime().exec("mysqldump.exe");
esta, no sirve tampoco para ejecutar .bat, solo .exe's y .com's
los segundos de espera, era solo paranoia mia... jejeje, ya q creia q habia
la posibilidad de mandar a ejecutar al .bat antes de q se hubira terminado
de copiar el comando completo... omite este codigo mas bien...
...,y porsupuesto q cargo los .sql desde java, solo hay q invertir la direccion
del flujo de >, por <
...
ahora, si tu encuentras como ejecutar a mysqldump con parametros y todo
desde java, uyyyy te saldria de papayita, ya q no tienes q hacer todas estas
piruetas q me toco a mi... y sin duda alguna, si lo llegas a encontrar, te
agradeceria q lo publiques para q le sirva a mucha gente aca en el foro.
Salu2 !!!
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Bases de Datos
»
MySQL
(Moderador:
F_Tanori
) »
Copia De Seguridad