Comandos de copia de seguridad y restauración de MySQL para la administración de bases de datos


Este artículo le muestra varios ejemplos prácticos sobre cómo realizar varias operaciones de respaldo de bases de datos MySQL usando el comando mysqldump y también veremos cómo restaurarlas con la ayuda del comando mysql y mysqlimport en Linux.

mysqldump es un programa cliente de línea de comandos, se utiliza para volcar una base de datos MySQL local o remota o una colección de bases de datos para realizar copias de seguridad en un solo archivo plano.

Suponemos que ya tiene MySQL instalado en un sistema Linux con privilegios administrativos y suponemos que ya tiene una pequeña cantidad de conocimientos sobre MySQL. Si no tiene MySQL instalado o no está expuesto a MySQL, lea nuestros artículos a continuación.

  1. Install MySQL Server on RHEL/CentOS 6-5, Fedora 17-12
  2. 20 MySQL Commands for Database Administration

¿Cómo hacer una copia de seguridad de la base de datos MySQL?

Para realizar una copia de seguridad de la base de datos o bases de datos MySQL, la base de datos debe existir en el servidor de la base de datos y usted debe tener acceso a ella. El formato del comando sería.

# mysqldump -u [username] –p[password] [database_name] > [dump_file.sql]

Los parámetros de dicho comando son los siguientes.

  1. [username] : A valid MySQL username.
  2. [password] : A valid MySQL password for the user.
  3. [database_name] : A valid Database name you want to take backup.
  4. [dump_file.sql] : The name of backup dump file you want to generate.

Para realizar una copia de seguridad de una sola base de datos, utilice el comando de la siguiente manera. El comando volcará la estructura de la base de datos [rsyslog] con datos en un solo archivo de volcado llamado rsyslog.sql.

# mysqldump -u root -ptecmint rsyslog > rsyslog.sql

Si desea realizar una copia de seguridad de varias bases de datos, ejecute el siguiente comando. El siguiente comando de ejemplo toma una copia de seguridad de la estructura y los datos de las bases de datos [rsyslog, syslog] en un solo archivo llamado rsyslog_syslog.sql.

# mysqldump -u root -ptecmint --databases rsyslog syslog > rsyslog_syslog.sql

Si desea realizar una copia de seguridad de todas las bases de datos, utilice el siguiente comando con la opción –todas las bases de datos. El siguiente comando toma la copia de seguridad de todas las bases de datos con su estructura y datos en un archivo llamado all -bases.sql.

# mysqldump -u root -ptecmint --all-databases > all-databases.sql

Si solo desea la copia de seguridad de la estructura de la base de datos sin datos, utilice la opción –no-data en el comando. El siguiente comando exporta la estructura de la base de datos [rsyslog] a un archivo rsyslog_structure.sql.

# mysqldump -u root -ptecmint -–no-data rsyslog > rsyslog_structure.sql

Para hacer una copia de seguridad de los datos de la base de datos solo sin estructura, utilice la opción –no-create-info con el comando. Este comando lleva los datos de la base de datos [rsyslog] a un archivo rsyslog_data.sql.

# mysqldump -u root -ptecmint --no-create-db --no-create-info rsyslog > rsyslog_data.sql

Con el siguiente comando, puede realizar una copia de seguridad de una sola tabla o de ciertas tablas de su base de datos. Por ejemplo, el siguiente comando solo toma una copia de seguridad de la tabla wp_posts de la base de datos wordpress.

# mysqldump -u root -ptecmint wordpress wp_posts > wordpress_posts.sql

Si desea realizar una copia de seguridad de varias o determinadas tablas de la base de datos, separe cada tabla con un espacio.

# mysqldump -u root -ptecmint wordpress wp_posts wp_comments > wordpress_posts_comments.sql

El siguiente comando toma la copia de seguridad de la base de datos [galería] del servidor remoto [172.16.25.126] en un servidor local.

# mysqldump -h 172.16.25.126 -u root -ptecmint gallery > gallery.sql

¿Cómo restaurar la base de datos MySQL?

En el tutorial anterior hemos visto cómo realizar la copia de seguridad de bases de datos, tablas, estructuras y datos únicamente, ahora veremos cómo restaurarlos usando el siguiente formato.

# # mysql -u [username] –p[password] [database_name] < [dump_file.sql]

Para restaurar una base de datos, debe crear una base de datos vacía en la máquina de destino y restaurar la base de datos usando el comando msyql. Por ejemplo, el siguiente comando restaurará el archivo rsyslog.sql a la base de datos rsyslog.

# mysql -u root -ptecmint rsyslog < rsyslog.sql

Si desea restaurar una base de datos que ya existe en la máquina de destino, deberá usar el comando mysqlimport.

# mysqlimport -u root -ptecmint rsyslog < rsyslog.sql

De la misma manera, también puede restaurar tablas, estructuras y datos de bases de datos. Si te gustó este artículo, compártelo con tus amigos.