Importar y Exportar mysql con Java
Para exportar una base de datos desde Java necesitamos la aplicación "mysqldump" que viene instalado dentro de MySQL, solo necesitamos utilizarlo y pasar los parámetros requeridos. Esta aplicación tiene varios parámetros personalizables para poder exportar una o varias base de datos a la vez.
Para utilizarlo lo llamados de esta manera, usamos la linea de consola de Windows:
C:\\xampp\\mysql\\bin\\mysqldump --opt -uroot -pcontraseña -B basededatos -r C:\Users\David\Desktop\backus.sql
Primero hacemos la ruta donde esta mysqldump, luego ingresamos el usuario y la contraseña, luego el nombre de la base de datos y en -r va la ruta de salida.
En este ejemplo estamos asumiendo que es localhost, pero podemos cambiar esto, si el host es diferente, de esta manera:
C:\\xampp\\mysql\\bin\\mysqldump --opt --host=localhost -uroot -pmika -B inventario -r C:\Users\David\Desktop\backus.sql
Por ejemplo para un servidor remoto exportar una base de datos de esta forma:
Para Importar: Es más fácil solamente indicamos a MySQL el archivo que hemos exportado, este archivo debe tener el script SQL.
C:\\xampp\\mysql\\bin\\mysql -uroot -pcontraseña basededatos < C:\Users\David\Desktop\backus.sql
En Java también podemos hacerlo, para ello necesitamos del método Runtime para ejecutar por consola las líneas de comandos, el siguiente código Java es para Exportar y Importar:
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
public class Importar2 {
private static void Exportar(){
try {
Process p =
Runtime.getRuntime().exec("C:\\xampp\\mysql\\bin\\mysqldump --opt -uroot -pcontraseña -B basededatos");
InputStream is = p.getInputStream();
FileOutputStream fos = new FileOutputStream("C:\\Users\\David\\Desktop\\backus.sql");
byte[] buffer = new byte[1000];
int leido = is.read(buffer);
while (leido > 0) {
fos.write(buffer, 0, leido);
leido = is.read(buffer);
}
fos.close();
}catch(Exception e){
e.printStackTrace();
}
}
private static void restaurar() {
try {
Process p =
Runtime.getRuntime().exec("C:\\xampp\\mysql\\bin\\mysql -uroot -pcontraseña basededatos");
OutputStream os = p.getOutputStream();
FileInputStream fis = new FileInputStream("C:\\Users\\David\\Desktop\\backus.sql");
byte[] buffer = new byte[1000];
int leido = fis.read(buffer);
while (leido > 0) {
os.write(buffer, 0, leido);
leido = fis.read(buffer);
}
os.flush();
os.close();
fis.close();
}catch(Exception e){
e.printStackTrace();
}
}
public static void main(String[]args){
Importar2.Exportar();
Importar2.restaurar();
}
}
No se alcansa a ver parte de el codigo en Java men
ResponderEliminarAmigo me crea el archivo vacio
ResponderEliminar