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.