Restaurar un respaldo o backup de base de datos MySQL

Tengo un archivo llamado backup.sql con un respaldo o copia de seguridad de una base de datos MySQL compuesto por muchas sentencias...

La FAQ Restaurar un respaldo o backup de base de datos MySQL tiene

Pertenece a la categoría:
Pregunta
Tengo un archivo llamado backup.sql con un respaldo o copia de seguridad de una base de datos MySQL compuesto por muchas sentencias SQL.


Querría recuperar el respaldo para ponerlo en otro servidor de base de datos mysql que tengo en otro ordeandor. Como lo debo hacer?

Respuesta de Miguel Angel Alvarez
La copia de seguridad la puedes restaurar de varios modos. Te comentaré un par de ellos.


Primero, si tienes PhpMyAdmin instalado en el ordenador donde deseas restaurar la base de datos, tal vez te venga bien para recuperar la información. Simplemente utiliza la herramienta de ejecutar sentencias SQL. Incluso esta herramienta de PhpMyAdmin tiene un lugar donde subir un archivo con sentencias SQL para ejecutarlas en el servidor. Lo malo es que el archivo con el backup no puede ocupar más de 2 megas.


Otra manera de restaurar una copia de seguridad sería por medio de el propio sistema de línea de comandos de MySQL. Con este sistema te puedes conectar a una base de datos en tu ordenador o a cualquier servidor MySQL que tengas permisos de acceso. La sentencia para restaurar una base de datos en el ordenador local sería:



mysql --password=tuclave --user=tuusuario mibase < ficherosentencias.sql


Si quisiéramos recuperar el backup en otro servidor, también lo podríamos hacer con la línea de comandos de MySQL, pero mediante una sentencia que incluya el host al que nos queremos conectar:



mysql --password=tuclave --user=tuusuario -h 192.168.1.134 basedatos < respaldo.sql


Tener en cuenta que el host al que deseamos conectar, en este caso el servidor con la IP 192.168.1.134, tiene que tener permitido el acceso con ese usuario y clave y para el ordenador desde donde estamos conectando. Así mismo, también este login tiene que disponer de privilegios para ejecutar las sentencias SQL del respaldo sobre la base de datos basedatos.


Todo el tema de permisos y privilegios sobre bases de datos MySQL se administra fácilmente con MySQL Administrator.

Volver al árbol de categoríasVolver al árbol de categorías

Comentarios

german

25/1/2013
restore
logro HACER EL BACKUP correctamente pero no puedo restaurarlo.. ahi te paso lo que hago para ver si v es mi error.
"CArchivo de programaMysql server 5.0inmysqldump.exe" --user=root --pasword=luis --alldatabases < "C:Backupacindar.sql"

Sergio

16/8/2013
Restaurar un respaldo o backup de base de datos MySQL
Gracias por el tutorial.
En el caso de tener un sistema de acceso web por HTML y PHP, en Linux con Apache y Mysql, quisiera hacer un formulario. Como tendría que usar las sentencias? como una consulta? Debería hacer un while para adicionar un contador agregado al nombre del archivo de salida...? Gracias por la orientacion.

Yaha Romero E.

23/7/2015
Restauracion de bd desde netbeans
Estoy realizando una restauracion de base de datos desde netbeans, tengo alojada mi base de datos en PhpMyAdmin(wampserver). Pero a la hora de checar en mi disco local c; donde tengo guardadas mis base de datos solo me aparece la carpeta con el nombre de la base de datos y un archivo gnerado OPT y en wampserver me aparece el nombre de la base de datos pero vacia.
Este es mi código:
*/
public class RestaurarBD extends javax.swing.JDialog {

String user = "root";
String password = "";
String bd = "negocio";
String path = "";
String backup ="";
String host="127.0.0.1";
//= "mysqldump --user=" + user + " --password=" + password + " -v " + bd + " > " + path;
Principal p;
MySQL mysql;

public RestaurarBD(Principal parent, boolean modal) {
super(parent, modal);
p = parent;
initComponents();
this.setLocationRelativeTo(p);
}


private void btnrestaurarActionPerformed(java.awt.event.ActionEvent evt) {
if (txtruta.getText().length() > 0) {
try {
File file;
file = new File(txtruta.getText());
path = file.getAbsolutePath();
int c = JOptionPane.showConfirmDialog(p, "Desea Restaurar esta Base de datos", "mensaje de confirmacion", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE);
if (c == JOptionPane.YES_OPTION) {
mysql=new MySQL();
mysql.Comandos("drop database if exists negocio;");
mysql=new MySQL("localhost/mysql",user,password);
mysql.Comandos("create database negocio");
mysql=new MySQL();
backup = "cmd/ c mysql--user="+ user +"--password=" + password +"-h="+host+"<"+ bd + "<"+ "negocio.sql";
Process child = Runtime.getRuntime().exec(backup);
JOptionPane.showMessageDialog(p, "La Base de Datos ha sido Restaurada Correctamente");
this.dispose();
}

} catch (IOException ex) {
JOptionPane.showMessageDialog(this, ex.getMessage());
}
}
FAQ relacionadas
Volver al árbol de categoríasVolver al árbol de categorías