Enrique Gómez (yvoictra)
  • Home
  • Fotografía
  • Linux
  • Personal
Meta
  • Acceder
  • Feed de entradas
  • Feed de comentarios
  • WordPress.org
  • Home
  • Sobre mí
  • Contacto
486 Followers
192 Followers
Enrique Gómez (yvoictra)
Enrique Gómez (yvoictra)
  • Home
  • Fotografía
  • Linux
  • Personal
  • MySQL

Copiar y restaurar base de datos de MySQL

  • Enrique Gómez
  • 20/02/2008
  • 1 minuto leer
Total
0
Shares
0
0
0
0
0

Lo primero que hay que hacer es hacer un backup de la base de datos, para ello usaremos el comando mysqldump.

$ mysqldump --add-drop-table -u root -p dbname >~/db_name.sql

donde…

root, es el usuario de la base de datos.

dbname, es el nombre de la base de datos que queremos usar.

y ~/db_name.sql es la ruta del fichero donde se guardará el backup.

Una vez hecho esto, podemos restaurar la base de datos, por ejemplo, en otra máquina. Para ello primero arrancamos mysql:

$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 5
Server version: 5.0.45-Debian_1ubuntu3.1-log Debian etch distribution
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql> create database dbname_copy
mysql> use dbname_copy

recuerda que “mysql>” es el prompt que interpreta los comando de mysql..

ahora para restaurarla usamos el siguiente código:

mysql> source  ~/db_name.sql

Y ya estaría copiada. Estos últimos pasos también se podrían haber hecho de la siguiente forma:

mysql -u root -p dbname < ~/db_name.sql

Sería muy buena idea que se hiciera un backup diario de la BBDD (Con algún cron, por ejemplo) de modo que podamos restaurar la BBDD sin perder mucho margen de datos, y teniéndo el backup automático.

Fuente: inocuo.net y ivorde.ro

Total
0
Shares
Tweet 0
Share 0
Share 0
Share 0
Share 0
Temas relacionados
  • linux
  • MySQL
  • mysqldump
  • sql
Enrique Gómez

Artículo anterior
  • Linux

tcpdump -> Monitoriza el tráfico de la red

  • Enrique Gómez
  • 20/02/2008
Ver Publicación
Siguiente artículo
  • Bash
  • Linux
  • Programación

Enviar ficheros comprimidos con netcat

  • Enrique Gómez
  • 13/03/2008
Ver Publicación
También podría interesarte
Ver Publicación
  • HOWTO
  • Linux
  • MySQL
  • PHP
  • software
  • Ubuntu

Instalar Apache, MySQL y PHP en Linux (Ubuntu 14.04)

  • Enrique Gómez
  • 16/04/2015
Ver Publicación
  • Linux
  • MySQL
  • Unix

Formato vertical de salida en MySQL

  • Enrique Gómez
  • 13/03/2013
Ver Publicación
  • HOWTO
  • Linux
  • MySQL
  • Unix

Resetear password de root en MySQL

  • Enrique Gómez
  • 13/03/2013
Ver Publicación
  • MySQL
  • software

Buscar duplicados en una tabla MySQL

  • Enrique Gómez
  • 18/01/2013
Ver Publicación
  • Linux
  • MySQL
  • Perl
  • software
  • Unix

Table is marked as crashed and should be repaired

  • Enrique Gómez
  • 11/07/2010
Ver Publicación
  • Linux
  • MySQL
  • Programación
  • Ubuntu
  • Unix

Cómo resetear un autoincremental en MySQL

  • Enrique Gómez
  • 24/10/2009
Ver Publicación
  • Linux
  • MySQL
  • Ubuntu
  • Unix

Setencias MySQL directamente desde la terminal

  • Enrique Gómez
  • 27/09/2009
Ver Publicación
  • MySQL

1o cosas que quizás no sepas de MySQL

  • Enrique Gómez
  • 10/05/2009
11 comentarios
  1. Mario dice:
    26/11/2008 a las 00:45

    Hola yo necesito hacer eso desde java llevo semanas y no he podido ya empiezo a pensar que no se puede hasta, ahora logro exportar la base de datos desde java y me genera un archivo.sql con todas las tablas e informacion pero no logro restaurarla tambien desde java porfa si sabes hacer eso seria mi regalo de navidad

    ese codigo uso para crear el respaldo

    try {
    Runtime runtime = Runtime.getRuntime();
    File backupFile = new File(“C:\Documents and Settings\MARIO\Escritorio\copia_seguridad.sql”);
    FileWriter fw = new FileWriter(backupFile);
    Process child = runtime.exec(“C:\Archivos de programa\EasyPHP1-8\mysql\bin\mysqldump –user=root –password= –lock-all-tables –opt prueba”);
    InputStreamReader irs = new InputStreamReader(child.getInputStream());
    BufferedReader br = new BufferedReader(irs);

    String line;
    while( (line=br.readLine()) != null ) {
    fw.write(line + “n”);
    }
    fw.close();
    irs.close();
    br.close();
    } catch (IOException ex) {
    ex.printStackTrace();
    }

    gracias espero tu respuesta

    Responder
  2. Luis_rg dice:
    09/03/2009 a las 06:27

    Saludos…..
    Muchas gracias por la informacion de tu blog, me despejo de algunas dudas que tenia…..
    solo una cosa para la gente que le gusta hacer esto en modo grafico una buena manera es hacerlo con phpmyadmin con hacer click en import o export ya tienes actualizada lo que es la base pero yo prefiero hacerlo manual es mas rapido….

    para la gente que desea generar un programa en java como mario una buena manera de hacerlo es con el conector mysql-connector-java-3.1.12-bin.jar que lo descargas desde la pag de mysql para que restaure la base de datos y el codigo a seguir es el sig::

    import java.sql.*;
    Class Prueba(){
    PreparedStatement ps = null;
    Connection conn = null;

    metodo main(){

    CargarDrivers(); //Metodo que se encargar de cargar los drivers
    openConexion(); //Metodo que se encargara de abrir la conexion
    int r = 0; //variable que contiene la respuesta de la sentencia

    try{
    String sql = “source ~/db_name.sql”;
    ps = conn.PreparedStatement(sql);
    r = ps.executeUpdate;
    if(conn != null) conn.close;
    if(ps != null) ps.close;

    }catch(Exception e){
    e.printStackTrace();
    }
    }
    private void cargarDriver(){
    try{
    Class.forName(“com.mysql.jdbc.Driver”);
    System.out.println(“Drivers cargados exitosamente”);
    }catch(Exception e){
    System.out.println(“Error cargar drivers”);
    }
    }
    public void openConexion(){
    try{
    conn = DriverManager.getConnection(“jdbc:mysql://localhost:3306/”, “root”, “”);
    System.out.println(“Conexion abierta exitosamente”);
    }catch(Exception e){
    System.out.println(“Error al abrir conexion”);
    e.printStackTrace();

    }
    }

    }

    Bueno la verdad es que no lo he probado y solo es como podria ir el codigo, la idea queda, la verdad esq no c si funcione pero voy a implementar esto en un programa swing dado que voy a tener que estar actualizando la base de datos en dos maquinas en distinto lugar y voy a tener que estar haciendo llegar el archivo ~/db_name.sql por internet para que la otra persona solo lo actualice de forma sencilla… gracias mario por darnos la informacion de como hacer el archivo ~/db_name.sql..
    bueno saludos a todos y gracias….
    cualquier duda; dado que no puse todo el codigo nesesario para ver si se restaura la base de datos, comentarla porq me voy a estar pasando por este blog…

    Responder
  3. Enrique Gómez dice:
    24/03/2009 a las 21:48

    Muchas gracias por vuestros comentarios, es bastante interesante. Saludos 😉

    Responder
  4. Pingback: Los números de 2010 « Yvoictra Tech Blog
  5. Juan Ignacio dice:
    17/04/2011 a las 22:10

    Hola, a mi no me deja restaurar la BD con el comando: – mysql -u root -p “c:usersyolaBD.sql” –

    a que se puede deber, será la versión que tengo de mySql? (5.0)

    Gracias de antemano, Dios los bendiga.

    Responder
    1. Enrique Gómez dice:
      17/04/2011 a las 22:19

      Es que no parece que esté bien formado el comando. Debería de ser algo así:

      mysql -u root -p dbname < ~/db_name.sql

      Saludos.

      Responder
      1. Juan Ignacio dice:
        18/04/2011 a las 23:13

        Si, muchas gracias, pero ahora tengo otro problema…

        Desde el prompt de mysql, la instrucción anda impecable, pero desde mi código (vb.net) no.

        No estoy utilizando una API o algo así. simplemente llamo al cliente mysql.exe y le paso sus argumentos, inmediatamente se ejecuta pero como si no le hubiese pasado argumentos…mostrándome la ayuda y demás.

        Muchas gracias por tu ayuda.

        Responder
  6. Juan Ignacio dice:
    17/04/2011 a las 22:12

    PD: dice que tengo Orror ortográfico.

    Responder
  7. Juan Ignacio dice:
    17/04/2011 a las 22:12

    Sintáctico, perdón.

    Responder
  8. Juan Ignacio dice:
    19/04/2011 a las 00:52

    Yo nuevamente, vale aclarar que no puedo usar un “Restore table” de mySQL porque mi base está hecha con InnoDB y el anterior está disponible solamente para MyISAM.

    Quizá una alternativa sea mudarme al segundo motor de BD, pero el mismo MySQL dice que Inno es “mejor”, porque es libre, y tiene otras cosas…y es además (InnoDB) el que se aplica por defecto desde el Administrator.

    Por descarte, es algo del Visual, pero voy a seguir experimentando, no me queda otra. a menos que pueda hacer un híbrido con python… xD …¡que no es mala idea!

    Responder
  9. Juan Ignacio dice:
    21/04/2011 a las 22:08

    Hola, quería comentar que solucioné el problema de “Restaurar Base Mysql + Windows + vb.net”.

    La solución la encontré en un blog, donde daba la idea de crear un archivo ejecutable .bat de Windows, escribiendo ahí el comando de restauración. Funcionó perfectamente, y para el entorno windows es ideal, ya que la idea de hacerlo desde python, llevaría otro proceso mas largo.

    Desde vb.net NO PUDE HACERLO FUNCIONAR, así que esta es la solución más aceptable.

    Dios los bendiga. 🙂

    Responder

Responder a Enrique Gómez Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Entradas recientes
  • Convierte tu Windows 10 en una bestia con Linux (Ubuntu)
  • Instalar Apache, MySQL y PHP en Linux (Ubuntu 14.04)
  • Cómo resolver nombre de máquinas Linux (Ubuntu) en una red local
  • Extraer un fichero de un paquete comprimido tar.gz
  • Nuestro viaje a Salamanca
Comentarios recientes
  • Laura en Cómo activar y desactivar el buzón de voz de la línea fija de Orange
  • Paula en Cómo activar y desactivar el buzón de voz de Orange
  • Buyreda en Comprimir/Descomprimir ficheros en entornos UNIX
  • Enrique Gómez en Enviar ficheros comprimidos con netcat
  • Edu Sellas en Enviar ficheros comprimidos con netcat
Categorías

Suscribir

Suscríbete a nuestro boletín de noticias

Enrique Gómez (yvoictra)
  • Home
  • Sobre mí
  • Contacto
El blog personal de Enrique Gómez Monreal

Ingresa las palabras de la búsqueda y presiona Enter.