GNU/Linux >> Tutoriales Linux >  >> Panels >> Panels

Cómo crear una copia de seguridad de bases de datos MySQL usando mysqldump en Ubuntu 20.04

En este tutorial, le mostraremos cómo crear una copia de seguridad de bases de datos MySQL en un Ubuntu 20.04 VPS y crear una copia de seguridad de todo /var/lib/mysql directorio.

Crearemos la copia de seguridad de las bases de datos usando el comando de MySQL, acertadamente llamado mysqldump . Después de eso, le mostraremos cómo realizar una copia de seguridad de /var/lib/mysql directorio donde se ha ubicado MySQL. Realizar copias de seguridad periódicas de su base de datos y del servidor de la base de datos es vital para proteger los datos que tiene en su servidor. De esta manera, en caso de que algo salga mal en su Ubuntu 20.04 VPS, o si MySQL se rompe por algún motivo (incompatibilidades u otros), tendrá una copia de seguridad segura a la que puede volver y evitar la pérdida de sus valiosos datos.

Una vez que crea una copia de seguridad de las bases de datos MySQL y las guarda en su servidor o en una ubicación remota, siempre podrá restaurar las bases de datos más tarde desde esta copia de seguridad, si es necesario. La creación de una copia de seguridad de la base de datos MySQL es esencial para cualquier propietario de un sitio web, y debe hacerse con regularidad. Simplemente siga los sencillos pasos de este tutorial y sus datos serán redundantes en poco tiempo. Comencemos.

¿Qué es MySQL?

MySQL es un sistema de gestión de bases de datos relacionales (RDBMS) de código abierto. MySQL es un componente de la pila de software de aplicaciones web LAMP (y otros), que es un acrónimo de Linux, Apache, MySQL y PHP. MySQL es utilizado por muchas aplicaciones web, incluidas WordPress, Drupal, Laravel y muchas más. Muchos sitios web populares también utilizan MySQL, incluidos YouTube, Twitter y Facebook.

Esta guía de varios pasos fue escrita y probada para Ubuntu 20.04, pero también debería funcionar en otras distribuciones de Linux. ¡Empecemos!

En primer lugar, asumimos que tiene acceso SSH a su servidor.

Inicie sesión en su servidor a través de SSH:

ssh root@server_ip -p port_number

Puede reemplazar root con el nombre de usuario de una cuenta de administrador si es necesario (nuestros VPS tienen acceso de root por defecto). Luego reemplace server_ip con la dirección IP de su servidor y port_number con su puerto SSH, siendo 22 el valor predeterminado.

Paso 1. Actualice los paquetes del sistema operativo

Asegurémonos de que su sistema operativo esté actualizado.

apt-get update

Paso 2. Instale el servidor de base de datos MySQL

MySQL es un sistema de administración de bases de datos popular y se puede instalar fácilmente en cualquier servidor Linux. Gracias a su popularidad, existen paquetes para MySQL en casi todas las distribuciones modernas de Linux. La última versión de MySQL es la versión 8.0, pero es posible que exista una versión más nueva después de escribir este artículo.

Para instalar el servicio MySQL, ejecute el siguiente comando:

apt install mysql-server

Para verificar que MySQL está instalado, así como verificar el estado del servicio MySQL, podemos usar los siguientes comandos:

qpkg -l | grep -imysql

systemctl status mysql

La salida del systemctl status mysql El comando debe ser similar a este:

● mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-06-07 07:49:38 UTC; 52min ago
   Main PID: 17700 (mysqld)
     Status: "Server is operational"
      Tasks: 39 (limit: 2266)
     Memory: 325.7M
     CGroup: /system.slice/mysql.service
             └─17700 /usr/sbin/mysqld

Repasemos la gestión del servicio MySQL. Habilite el servicio MySQL para que se inicie en el arranque del servidor con el siguiente comando:

systemctl enable mysql

Para iniciar y detener el servicio MySQL, podemos usar los siguientes comandos respectivamente:

systemctl start mysql

systemctl stop mysql

Para verificar la versión de MySQL instalada, ejecute el siguiente comando:

mysql -V

El resultado debería ser similar a esto:

mysql  Ver 8.0.20-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))

Para mejorar la seguridad del servidor MySQL, es una buena idea ejecutar mysql_secure_installation script escribiendo el siguiente comando. Le permite realizar alguna configuración adicional, como establecer una contraseña de root, eliminar la base de datos de ejemplo, etc.:

mysql_secure_installation

Paso 3. Crear una base de datos MySQL

En este paso, crearemos una base de datos MySQL, un usuario MySQL y una contraseña para el nuevo usuario, junto con los permisos necesarios para nuestra base de datos de prueba. Posteriormente haremos un volcado de la base de datos recién creada.

Inicie sesión en su consola MySQL con el siguiente comando:

mysql -u root -p

Ingrese la contraseña: (Ingrese su contraseña raíz de MySQL si la configuró durante la instalación_segura_mysql proceso. Déjelo en blanco si no lo hizo)

Una vez que haya iniciado sesión, ejecute los siguientes comandos uno por uno:

mysql> CREATE DATABASE testDB;
mysql> CREATE USER 'admin_user'@'localhost' IDENTIFIED BY 'StrongPassword';
mysql> GRANT ALL PRIVILEGES ON testDB.* TO 'admin_user'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> exit;

No olvide reemplazar “StrongPassword“ con su propia contraseña fuerte generada.

Una vez que crea una base de datos MySQL, podemos enumerar todas las bases de datos MySQL desde la consola MySQL usando el siguiente comando:

show databases;

La salida debería verse así:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| testDB             |
+--------------------+
5 rows in set (0.00 sec)

Paso 4. Cree una copia de seguridad usando 'mysqldump'

Este es el paso principal en el que crearemos una copia de seguridad de las bases de datos MySQL usando mysqldump utilidad de línea de comandos.

Ingrese en un directorio de su elección donde desea que se guarde la copia de seguridad.

A los efectos de este tutorial, utilizaremos el /backup directorio.

cd /backup

Ejecute el siguiente comando para crear un volcado de base de datos de la base de datos de prueba que creamos anteriormente:

mysqldump -u admin_user -p testDB > backup.sql

Ingrese la contraseña "admin_user" que configuró y enumere los archivos en /backup directorio para asegurarse de que la copia de seguridad de la base de datos se haya creado correctamente:

ls -al | grep backup

La salida debería verse así:

-rw-r--r--  1 root root 1267 Jun  7 09:52 backup.sql

Si desea crear un volcado de base de datos de todas las bases de datos en su servidor, use el siguiente comando usando las credenciales de usuario root de MySQL:

mysqldump --all-databases -u root -p > AllDatabaseBackup.sql

Ingrese la contraseña raíz de MySQL y nuevamente, para verificar que la copia de seguridad se haya realizado correctamente, ejecute el siguiente comando:

ls -al | grep All

La salida debería verse así:

-rw-r--r--  1 root root 1036456 Jun  7 10:15 AllDatabaseBackup.sql

Paso 5. Copie el directorio de la base de datos MySQL

Este paso es opcional. Si desea copiar todo el directorio donde se encuentran las bases de datos MySQL junto con sus datos, primero debe detener el servicio MySQL con el siguiente comando:

systemctl stop mysql

Verifique que el servicio MySQL se detenga con este comando:

systemctl status mysql

La salida debería verse así:

● mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Active: inactive (dead) since Sun 2020-06-07 10:50:19 UTC; 4s ago
    Process: 17700 ExecStart=/usr/sbin/mysqld (code=exited, status=0/SUCCESS)
   Main PID: 17700 (code=exited, status=0/SUCCESS)
     Status: "Server shutdown complete"

Una vez hecho esto, estamos listos para copiar el directorio de la base de datos MySQL con el rsync comando:

rsync -Waq --numeric-ids /var/lib/mysql/ /backup/mysql.raw/

Compruebe el /backup/mysql.raw directorio y enumere los archivos y directorios dentro para asegurarse de que la copia de seguridad de /var/lib/mysql El directorio se creó con éxito.

cd /backup/mysql.raw

ls -alh

Después de crear una copia de seguridad sin procesar, podemos iniciar el servicio MySQL usando el siguiente comando:

systemctl start mysql

Eso es todo. Felicitaciones, ha creado con éxito una copia de seguridad con el "mysqldump ” utilidad de línea de comandos y una copia de seguridad sin procesar de las bases de datos MySQL usando rsync en su Ubuntu 20.04 VPS. Ahora puede almacenar y proteger sus datos de forma segura.

Si usted es uno de nuestros clientes de Managed Ubuntu Hosting, no tiene que crear una copia de seguridad de MySQL usted mismo en Ubuntu 20.04:nuestros administradores expertos de Linux configurarán y optimizarán su servidor MySQL por usted, e incluso implementarán copias de seguridad de la base de datos para que se realicen automáticamente. . Están disponibles las 24 horas del día, los 7 días de la semana y atenderán su solicitud de inmediato.

PD . Si le gustó esta publicación sobre cómo crear una copia de seguridad de MySQL usando mysqldump en Ubuntu 20.04, compártala con sus amigos en las redes sociales usando los botones a la izquierda o simplemente deje una respuesta a continuación. Gracias.


Panels
  1. Cómo optimizar y reparar bases de datos MySQL usando phpMyAdmin

  2. Cómo crear una base de datos en MySQL usando la línea de comandos

  3. MySQL:cómo hacer una copia de seguridad (volcar) y restaurar una base de datos usando mysqldump

  4. Cómo hacer una copia de seguridad y restaurar la base de datos MySQL usando la línea de comandos

  5. Cómo instalar la base de datos MySQL en Ubuntu 20.04

Cómo crear una base de datos con MySQL Database Wizard

¿Cómo transferir una base de datos MySQL existente?

Cómo crear una base de datos en MySQL

Cómo crear una base de datos usando el Asistente para bases de datos MySQL

Cómo hacer una copia de seguridad de una base de datos MySQL en cPanel

Cómo crear y modificar bases de datos MySQL en cPanel