
backup mysql java for Linux(ubuntu 14.04)
Publicado por Pedro cardenas del angel (1 intervención) el 03/01/2015 06:06:09
Necesito que chequen este código y ver como funciona, y me digan donde estoy mal.
Estoy programando en java uso ubuntu 14.04,
Uno de los módulos que estoy haciendo, es la de crear copias de seguridad de la base de datos desde la aplicación ahi no tengo problemas se crea bien la copia de seguridad, ese archivo que se crea si lo cargo con la utileria que trae mysql Worrbench, si se restaura la base de datos, y de igual forma si lo ejecuto desde la terminal si realiza la restauracion de base de datos.
mysql --user=root --database=sisdigital --password=12345 --host=localhost -e "source /home/peche/Escritorio/sistemas 08145201012015.sql"
pero no me gusta entregarle al cliente y cuando requiera hacer una restauración de la base de datos nimodo de decirle abre el mysql workbench y vez a tal opcion y pues asi pues no deberia de ser, ni tampoco decirle aver escribe este comando en la terminal de ubuntu;
tengo este codigo funciona bien en windows hace la restauracion de la base de datos pero en linux no quiere funcionar....
muchos diran oye pero porque en linux como es posible si todo mundo usa Windows este es la realidad.
Estoy desarrollando una aplicacion para mi titulacion y es un sistema que maneja base de datos y todo el rollo, la aplicacion en desarrollo, lo estoy haciendo en RMI- cliente-servidor
en la empresa en donde estoy ya instale una parte, tonces ya para terminar me faltan estas solo esto la de restaurar base de datos;
el Servidor esta corriendo bajo la plataforma linux, esta en un solo lugar, esta prendido las 24 horas todos los dias,.. y los clientes pues corren bajo windows, algunos xp, otros windows 7 etc;
el sistema lo ocupan varios departamentos
y es por eso que estoy batallando con esta ultima parte... con la restauracion de la base de datos en linux;
Lo raro de esto es que el codigo si funciona bien en windows restaura bien las bases de datos
necesito que me echen la mano, aver que estoy haciendo mal, o realmente como hacer la restauracion de manera correcta..
he probado de ponienfo la ruta directa de mysql de esta forma
pero nomas no funciona, pero como le digo este misma sintaxis lo ejecuto en la terminal si me hace la restauracion de la base de datos es lo mas raro, no se que esta pasando en el codigo..
no se si hay que modificar siertos parametros en my.conf
se que no tiene que ver nada el patch, porque funciona bien en la terminal de comandos
Estoy programando en java uso ubuntu 14.04,
Uno de los módulos que estoy haciendo, es la de crear copias de seguridad de la base de datos desde la aplicación ahi no tengo problemas se crea bien la copia de seguridad, ese archivo que se crea si lo cargo con la utileria que trae mysql Worrbench, si se restaura la base de datos, y de igual forma si lo ejecuto desde la terminal si realiza la restauracion de base de datos.
mysql --user=root --database=sisdigital --password=12345 --host=localhost -e "source /home/peche/Escritorio/sistemas 08145201012015.sql"
pero no me gusta entregarle al cliente y cuando requiera hacer una restauración de la base de datos nimodo de decirle abre el mysql workbench y vez a tal opcion y pues asi pues no deberia de ser, ni tampoco decirle aver escribe este comando en la terminal de ubuntu;
tengo este codigo funciona bien en windows hace la restauracion de la base de datos pero en linux no quiere funcionar....
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
public void restaurar() {
if (!txtDirDestino.getText().equals("") {
Process proc=null;
String pros = "mysql --user="+user +" --database=" + basededatos;
pros += " --password=" + pass + " --host="+host +" -e "\"source " + txtDirDestino.getText() + "\"";
System.out.println(pros);
try {
BufferedReader brin;
BufferedReader brer;
int caracter = -1;
proc = Runtime.getRuntime().exec(pros);
brin = new BufferedReader(new InputStreamReader(proc.getInputStream()));
do {
caracter = brin.read();
} while (caracter != -1);
brer = new BufferedReader(new InputStreamReader(proc.getErrorStream()));
do {
caracter = brer.read();
if (caracter != -1) {
errs += "" + (char) caracter;
}
} while (caracter != -1);
proc.waitFor();
brer.close();
} catch (Exception exc) {
errs = exc.getMessage();
}
}else{
JOptionPane.showMessageDialog(null,"EL SISTEMA NO HA ENCONTRADO UNA RUTA ESPECIFICAnPARA REALIZAR EL RESPALDO";
}
}
//----------------------------------------------------------------------------------------------------------------------------
Estoy desarrollando una aplicacion para mi titulacion y es un sistema que maneja base de datos y todo el rollo, la aplicacion en desarrollo, lo estoy haciendo en RMI- cliente-servidor
en la empresa en donde estoy ya instale una parte, tonces ya para terminar me faltan estas solo esto la de restaurar base de datos;
el Servidor esta corriendo bajo la plataforma linux, esta en un solo lugar, esta prendido las 24 horas todos los dias,.. y los clientes pues corren bajo windows, algunos xp, otros windows 7 etc;
el sistema lo ocupan varios departamentos
y es por eso que estoy batallando con esta ultima parte... con la restauracion de la base de datos en linux;
Lo raro de esto es que el codigo si funciona bien en windows restaura bien las bases de datos
necesito que me echen la mano, aver que estoy haciendo mal, o realmente como hacer la restauracion de manera correcta..
he probado de ponienfo la ruta directa de mysql de esta forma
1
2
String pros = "/usr/bin/mysql --user="+user +" --database=" + basededatos;
pros += " --password=" + pass + " --host="+host +" -e "\"source " + txtDirDestino.getText() + "\"";
pero nomas no funciona, pero como le digo este misma sintaxis lo ejecuto en la terminal si me hace la restauracion de la base de datos es lo mas raro, no se que esta pasando en el codigo..
no se si hay que modificar siertos parametros en my.conf
se que no tiene que ver nada el patch, porque funciona bien en la terminal de comandos
Valora esta pregunta


0