Cómo configurar una base de datos remota para optimizar el rendimiento del sitio con MySQL en Ubuntu 20.04

Introducción

A medida que tu aplicación o sitio web crece, puede llegar un punto en el que hayas superado la configuración de servidor actual. Si estás alojando tu servidor web y la base de datos en la misma máquina, puede ser una buena idea separar estas dos funciones para que cada una pueda operar en su propio hardware y compartir la carga de responder a las solicitudes de tus visitantes.

En esta guía, configurarás un servidor de base de datos MySQL remoto al que tu aplicación web pueda conectarse. Se utiliza WordPress como ejemplo para tener algo con lo que trabajar, pero la técnica es ampliamente aplicable a cualquier aplicación respaldada por MySQL.

Requisitos previos

Antes de comenzar este tutorial, necesitarás:

  • Dos servidores Ubuntu 20.04. Cada uno debe tener un usuario no root con privilegios sudo y el firewall UFW habilitado, como se describe en nuestro tutorial Configuración inicial del servidor con Ubuntu 20.04. Uno de estos servidores alojará su backend de MySQL, y será referido como el servidor de base de datos a lo largo de esta guía. El otro se conectará a su servidor de base de datos de forma remota y actuará como su servidor web; del mismo modo, será referido como el servidor web a lo largo de esta guía.
  • En su servidor de base de datos: MySQL instalado. Siga Cómo instalar MySQL en Ubuntu 20.04 para configurarlo.
  • En tu servidor web: Nginx y PHP instalados. Nuestro tutorial Cómo instalar Linux, Nginx, MySQL, PHP (pila LEMP) en Ubuntu 20.04 te guiará a través del proceso, pero ten en cuenta que debes omitir el Paso 2 de este tutorial, que se centra en la instalación de MySQL, ya que instalarás MySQL en tu servidor de base de datos.

Paso 1 — Configuración de MySQL para Escuchar Conexiones Remotas en el Servidor de la Base de Datos

Tener los datos almacenados en un servidor separado es una buena manera de expandirse de manera elegante después de alcanzar el límite de rendimiento de una configuración de una sola máquina. También proporciona la estructura básica necesaria para equilibrar la carga y expandir su infraestructura aún más en un momento posterior. Después de instalar MySQL siguiendo el tutorial previo, deberá cambiar algunos valores de configuración para permitir conexiones desde otras computadoras.

La mayoría de los cambios de configuración del servidor MySQL se pueden realizar en el archivo mysqld.cnf, que se encuentra almacenado en el directorio /etc/mysql/mysql.conf.d/ de manera predeterminada. Abra este archivo en su servidor de base de datos con privilegios de root en su editor preferido. Este ejemplo utiliza nano:

  1. sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Este archivo está dividido en secciones que están indicadas por etiquetas entre corchetes ([ y ]). Encuentre la sección etiquetada como mysqld:

/etc/mysql/mysql.conf.d/mysqld.cnf
. . .
[mysqld]
. . .

Dentro de esta sección, busque un parámetro llamado bind-address. Esto indica al software de la base de datos en qué dirección de red escuchar conexiones.

Por defecto, esto está establecido en 127.0.0.1, lo que significa que MySQL está configurado para buscar solo conexiones locales. Necesitas cambiar esto para hacer referencia a una dirección IP externa donde tu servidor pueda ser alcanzado.

Si ambos de tus servidores están en un centro de datos con capacidades de red privada, usa la dirección IP de red privada de tu servidor de base de datos. De lo contrario, puedes usar su dirección IP pública:

/etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld]
. . .
bind-address = db_server_ip

Debido a que te conectarás a tu base de datos a través de Internet, se recomienda que requieras conexiones cifradas para mantener seguros tus datos. Si no cifras tu conexión MySQL, cualquiera en la red podría husmear información sensible entre tus servidores web y de base de datos. Para cifrar las conexiones de MySQL, agrega la siguiente línea después de la línea de bind-address que acabas de actualizar:

/etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld]
. . .
require_secure_transport = on
. . .

Guarda y cierra el archivo cuando hayas terminado. Si estás utilizando nano, haz esto presionando CTRL + X, Y, y luego ENTER.

Para que las conexiones SSL funcionen, deberás crear algunas claves y certificados. MySQL viene con un comando que configurará automáticamente estos archivos. Ejecuta el siguiente comando, que crea los archivos necesarios. También los hace legibles para el servidor MySQL especificando el UID del usuario mysql:

  1. sudo mysql_ssl_rsa_setup --uid=mysql

Para forzar a MySQL a actualizar su configuración y leer la nueva información SSL, reinicia la base de datos:

  1. sudo systemctl restart mysql

Para confirmar que el servidor ahora está escuchando en la interfaz externa, ejecuta el siguiente comando ss:

  1. sudo ss -plunt | grep mysqld
Output
tcp LISTEN 0 70 127.0.0.1:33060 0.0.0.0:* users:(("mysqld",pid=4053,fd=22)) tcp LISTEN 0 151 db_server_ip:3306 0.0.0.0:* users:(("mysqld",pid=4053,fd=24))

El comando ss muestra estadísticas sobre el sistema de redes de su servidor. Esta salida muestra que hay un proceso llamado mysqld conectado a la db_server_ip en el puerto 3306, el puerto estándar de MySQL, confirmando que el servidor está escuchando en la interfaz apropiada.

A continuación, abra ese puerto en el firewall para permitir el tráfico:

  1. sudo ufw allow mysql

Esos son todos los cambios de configuración que necesita hacer en MySQL. A continuación, configurará una base de datos y algunos perfiles de usuario, uno de los cuales utilizará para acceder al servidor de forma remota.

Paso 2 — Configurar una base de datos de WordPress y credenciales remotas en el servidor de base de datos

Aunque MySQL mismo ahora está escuchando en una dirección IP externa, actualmente no hay usuarios o bases de datos habilitados para acceso remoto configurados. Cree una base de datos para WordPress y un par de usuarios que puedan acceder a ella.

Comience conectándose a MySQL como el usuario root de MySQL:

  1. sudo mysql

Nota: Si tiene habilitada la autenticación de contraseña, como se describe en el Paso 3 del tutorial previo de MySQL, en su lugar deberá usar el siguiente comando para acceder al shell de MySQL:

  1. mysql -u root -p

Después de ejecutar este comando, se te pedirá la contraseña de root de MySQL y, después de ingresarla, se te mostrará un nuevo indicador mysql>.

Desde el indicador de MySQL, crea una base de datos que WordPress utilizará. Puede ser útil darle a esta base de datos un nombre reconocible para que puedas identificarla fácilmente más adelante. Aquí, se llama wordpress:

  1. CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Ahora que has creado tu base de datos, a continuación, necesitas crear un par de usuarios. Crea un usuario solo para conexiones locales y otro usuario remoto vinculado a la dirección IP del servidor web.

Primero, crea tu usuario local, local_db_user, y haz que esta cuenta solo coincida con intentos de conexión locales utilizando localhost en la declaración:

  1. CREATE USER 'local_db_user'@'localhost' IDENTIFIED BY 'password';

Luego, otorga a esta cuenta acceso completo a la base de datos wordpress:

  1. GRANT ALL PRIVILEGES ON wordpress.* TO 'local_db_user'@'localhost';

Este usuario ahora puede realizar cualquier operación en la base de datos de WordPress, pero esta cuenta no se puede usar de forma remota, ya que solo coincide con conexiones desde la máquina local. Con esto en mente, crea una cuenta complementaria que coincida exclusivamente con conexiones desde tu servidor web. Para ello, necesitarás la dirección IP de tu servidor web.

Por favor, ten en cuenta que debes utilizar una dirección IP que utilice la misma red que configuraste en tu archivo mysqld.cnf. Esto significa que si especificaste una dirección IP de red privada en el archivo mysqld.cnf, deberás incluir la IP privada de tu servidor web en los siguientes dos comandos. Si configuraste MySQL para utilizar internet público, deberías coincidir con la IP pública del servidor web.

  1. CREATE USER 'remote_user'@'web_server_ip' IDENTIFIED BY 'password';

Después de crear tu cuenta remota, otórgale los mismos privilegios que a tu usuario local:

  1. GRANT ALL PRIVILEGES ON wordpress.* TO 'remote_user'@'web_server_ip';

Por último, actualiza los privilegios para que MySQL comience a usarlos:

  1. FLUSH PRIVILEGES;

Luego, sal del prompt de MySQL escribiendo:

  1. exit

Ahora que has configurado una nueva base de datos y un usuario habilitado para acceso remoto, puedes pasar a probar si puedes conectarte a la base de datos desde tu servidor web.

Paso 3 — Probando Conexiones Remotas y Locales

Antes de continuar, es mejor verificar que puedes conectarte a tu base de datos tanto desde la máquina local — tu servidor de base de datos — como desde tu servidor web.

Primero, prueba la conexión local desde tu servidor de base de datos intentando iniciar sesión con tu nueva cuenta:

  1. mysql -u local_db_user -p

Cuando se te solicite, ingresa la contraseña que configuraste para esta cuenta.

Si se te muestra un prompt de MySQL, entonces la conexión local fue exitosa. Puedes salir nuevamente escribiendo:

  1. exit

A continuación, inicia sesión en tu servidor web para probar las conexiones remotas:

  1. ssh remote_user@web_server_ip

Necesitarás instalar algunas herramientas cliente para MySQL en tu servidor web para poder acceder a la base de datos remota. Primero, actualiza la caché de paquetes local si no lo has hecho recientemente:

  1. sudo apt update

Luego, instala las utilidades cliente de MySQL:

  1. sudo apt install mysql-client

Después de esto, conéctate a tu servidor de base de datos utilizando la siguiente sintaxis:

  1. mysql -u remote_user -h db_server_ip -p

Una vez más, asegúrese de estar utilizando la dirección IP correcta para el servidor de base de datos. Si configuró MySQL para escuchar en la red privada, ingrese la IP de la red privada de su base de datos. De lo contrario, ingrese la dirección IP pública de su servidor de base de datos.

Se le pedirá la contraseña de su cuenta remote_user. Después de ingresarla, y si todo funciona como se espera, se le llevará al prompt de MySQL. Verifique que la conexión esté utilizando SSL con el siguiente comando:

  1. status

Si la conexión está utilizando SSL, la línea SSL: lo indicará, como se muestra aquí:

Output
-------------- mysql Ver 8.0.29-0ubuntu0.20.04.2 for Linux on x86_64 ((Ubuntu)) Connection id: 14 Current database: Current user: remote_user@web_server_ip SSL: Cipher in use is TLS_AES_256_GCM_SHA384 Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 8.0.29-0ubuntu0.20.04.2 (Ubuntu) Protocol version: 10 Connection: db_server_ip via TCP/IP Server characterset: utf8mb4 Db characterset: utf8mb4 Client characterset: utf8mb4 Conn. characterset: utf8mb4 TCP port: 3306 Binary data as: Hexadecimal Uptime: 1 hour 8 min 28 sec Threads: 2 Questions: 69 Slow queries: 0 Opens: 206 Flush tables: 3 Open tables: 125 Queries per second avg: 0.016 --------------

Después de verificar que puede conectarse de forma remota, salga del prompt:

  1. exit

Ha verificado el acceso local y el acceso desde el servidor web, pero no ha verificado que se rechacen otras conexiones. Para una comprobación adicional, intente hacer lo mismo desde un tercer servidor para el cual no haya configurado una cuenta de usuario específica para asegurarse de que a este otro servidor no se le conceda acceso.

Tenga en cuenta que antes de ejecutar el siguiente comando para intentar la conexión, es posible que deba instalar las utilidades de cliente de MySQL como hizo anteriormente:

  1. mysql -u wordpressuser -h db_server_ip -p

Esto no debería completarse correctamente y debería devolver un error similar a este:

Output
ERROR 1130 (HY000): Host '203.0.113.12' is not allowed to connect to this MySQL server

Esto es esperado, ya que no ha creado un usuario de MySQL que esté autorizado para conectarse desde este servidor, y también deseado, ya que desea asegurarse de que su servidor de bases de datos deniegue el acceso a usuarios no autorizados a su servidor de MySQL.

Después de probar con éxito su conexión remota, puede proceder a instalar WordPress en su servidor web.

Paso 4 — Preparación del servidor web para la instalación de WordPress

Si has seguido los tutoriales previos, deberías tener tanto Nginx como PHP instalados. WordPress, y muchos de sus complementos, aprovechan muchas extensiones adicionales de PHP. Antes de instalar WordPress en tu servidor web, prepara tu servidor instalando algunas de estas extensiones de PHP para su uso con WordPress:

  1. sudo apt install php-curl php-gd php-intl php-mbstring php-soap php-xml php-xmlrpc php-zip

Nota: Cada complemento de WordPress tiene su propio conjunto de requisitos. Algunos pueden requerir la instalación de paquetes adicionales de extensiones de PHP. Consulta la documentación de tu complemento para descubrir sus requisitos de PHP. Si están disponibles, se pueden instalar con apt como en el ejemplo anterior.

Cuando hayas terminado de instalar las extensiones, reinicia el proceso PHP-FPM para que el procesador PHP en ejecución pueda aprovechar las funciones recién instaladas:

  1. sudo systemctl restart php7.4-fpm

A continuación, realiza algunos ajustes en los archivos de bloque de servidor Nginx. Según los tutoriales previos, deberías tener un archivo de configuración para tu sitio en el directorio /etc/nginx/sites-available/. También debería estar configurado para responder al nombre de dominio o dirección IP de tu servidor y protegido por un certificado TLS/SSL. /etc/nginx/sites-available/your_domain se usa como un ejemplo de directorio aquí. Sustituye la ruta de tu archivo de configuración donde corresponda.

Además, /var/www/your_domain se utilizará como el directorio raíz en esta instalación de ejemplo de WordPress. Nuevamente, use el directorio raíz especificado en su propia configuración.

Nota: Es posible que esté utilizando la configuración predeterminada /etc/nginx/sites-available/default con /var/www/html como su directorio raíz de documentos. Esto está bien si solo va a alojar un sitio web en este servidor. De lo contrario, es mejor dividir la configuración necesaria en fragmentos lógicos, un archivo por sitio.

Abra el archivo de bloque de servidor de su sitio con su editor preferido. Este ejemplo usa nano:

  1. sudo nano /etc/nginx/sites-available/your_domain

Dentro de este bloque de servidor, agregue algunos bloques de ubicación. Comience creando bloques de ubicación de coincidencia exacta para solicitudes a /favicon.ico y /robots.txt, que no desea registrar solicitudes.

Hará esto utilizando una ubicación de expresión regular para que coincida con cualquier solicitud de archivos estáticos, desactive el registro para estas solicitudes y las marcará como altamente caché, ya que estos son recursos típicamente costosos de servir. Puede ajustar esta lista de archivos estáticos para contener cualquier otra extensión de archivo que su sitio pueda usar:

/etc/nginx/sites-available/your_domain
server {
    server_name your_domain www.your_domain;
    root /var/www/your_domain;

    index index.html index.htm index.php;

    location = /favicon.ico { log_not_found off; access_log off; }
    location = /robots.txt { log_not_found off; access_log off; allow all; }
    location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
        expires max;
        log_not_found off;
    }
    . . .
}

Dentro del bloque de ubicación existente location /, puede ajustar la lista de try_files. Primero, comente la configuración predeterminada agregando un signo de almohadilla (#) al principio de la primera línea. Luego, agregue las siguientes líneas:

/etc/nginx/sites-available/your_domain
server {
    . . .
    location / {
        #try_files $uri $uri/ =404;
        try_files $uri $uri/ /index.php$is_args$args;
    }
    . . .
}

Con esta nueva línea en su configuración, en lugar de devolver un error 404 como opción predeterminada, el control se pasa al archivo index.php con los argumentos de la solicitud.

En conjunto, la parte superior de tu archivo debería ser similar a esto:

/etc/nginx/sites-available/your_domain
server {
    server_name your_domain www.your_domain;
    root /var/www/your_domain;

    index index.html index.htm index.php;

    location = /favicon.ico { log_not_found off; access_log off; }
    location = /robots.txt { log_not_found off; access_log off; allow all; }
    location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
        expires max;
        log_not_found off;
    }

    location / {
       # try_files $uri $uri/ =404;
        try_files $uri $uri/ /index.php$is_args$args;
    }

  ...
}

Cuando hayas terminado, guarda y cierra el archivo.

Verifica tu configuración en busca de errores de sintaxis escribiendo:

  1. sudo nginx -t

Si no se reportan errores, recarga Nginx escribiendo:

  1. sudo systemctl reload nginx

Después de preparar tu servidor web, ahora estás listo para instalar WordPress.

Paso 5: Instalando WordPress en el servidor web

Para demostrar las capacidades de tu nuevo servidor MySQL compatible con remoto, pasarás por el proceso de instalar y configurar WordPress — el popular sistema de gestión de contenidos — en tu servidor web. Con tu software de servidor configurado, puedes descargar WordPress. Por razones de seguridad, siempre es recomendable obtener la última versión de WordPress directamente desde el sitio web del proyecto.

Primero, cambia a un directorio escribible (se recomienda uno temporal como /tmp):

  1. cd /tmp

Esto cambia tu directorio de trabajo al folder temporal. Luego, ingresa el siguiente comando para descargar la última versión de WordPress como un archivo comprimido:

  1. curl -LO https://wordpress.org/latest.tar.gz

Extrae el archivo comprimido para crear la estructura de directorios de WordPress:

  1. tar xzvf latest.tar.gz

Estos archivos los moverás a tu raíz de documentos en breve, pero antes de hacerlo, copia el archivo de configuración de ejemplo al nombre de archivo que lee WordPress:

  1. cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php

Copia todo el contenido del directorio en la raíz del documento. La bandera -a garantizará que se mantengan tus permisos, y un punto al final de tu directorio fuente para indicar que se debe copiar todo dentro del directorio (incluyendo archivos ocultos):

  1. sudo cp -a /tmp/wordpress/. /var/www/your_domain

Con tus archivos en su lugar, asigna la propiedad al usuario y grupo www-data. Este es el usuario y grupo con el que Nginx se ejecuta, y Nginx necesitará poder leer y escribir archivos de WordPress para servir el sitio web y realizar actualizaciones automáticas:

  1. sudo chown -R www-data:www-data /var/www/your_domain

Tus archivos de WordPress ahora están en la raíz del documento del servidor y tienen la propiedad correcta. Ahora estás listo para configurar WordPress.

Paso 6 — Configurar el Archivo de Configuración de WordPress

Cuando abras el archivo de configuración de WordPress, comenzarás ajustando algunas claves secretas para proporcionar seguridad a tu instalación. WordPress proporciona un generador seguro para estos valores para que no tengas que crearlos tú mismo. Estos solo se utilizan internamente, así que no afectará la usabilidad tener valores complejos y seguros aquí.

Para obtener valores seguros del generador de claves secretas de WordPress, escribe:

  1. curl -s https://api.wordpress.org/secret-key/1.1/salt/

Recibirás valores únicos que se asemejan a la salida siguiente:

¡Advertencia! Es importante que solicites tus propios valores únicos cada vez. No copies los valores mostrados aquí.

Output
define('AUTH_KEY', 'L4|2Yh(giOtMLHg3#] DO NOT COPY THESE VALUES %G00o|te^5YG@)'); define('SECURE_AUTH_KEY', 'DCs-k+MwB90/-E(=!/ DO NOT COPY THESE VALUES +WBzDq:7U[#Wn9'); define('LOGGED_IN_KEY', '*0kP!|VS.K=;#fPMlO DO NOT COPY THESE VALUES +&[%8xF*,18c @'); define('NONCE_KEY', 'fmFPF?UJi&(j-{8=$- DO NOT COPY THESE VALUES CCZ?Q+_~1ZU~;G'); define('AUTH_SALT', '@qA7f}2utTEFNdnbEa DO NOT COPY THESE VALUES t}Vw+8=K%20s=a'); define('SECURE_AUTH_SALT', '%BW6s+d:7K?-`C%zw4 DO NOT COPY THESE VALUES 70U}PO1ejW+7|8'); define('LOGGED_IN_SALT', '-l>F:-dbcWof%4kKmj DO NOT COPY THESE VALUES 8Ypslin3~d|wLD'); define('NONCE_SALT', '4J(<`4&&F (WiK9K#] DO NOT COPY THESE VALUES ^ZikS`es#Fo:V6');

Estas son líneas de configuración que puedes pegar directamente en tu archivo de configuración para establecer claves seguras. Copia la salida que recibiste ahora.

Abre el archivo de configuración de WordPress:

  1. sudo nano /var/www/your_domain/wp-config.php

Encuentra la sección que contiene los valores de ejemplo para esas configuraciones:

/var/www/your_domain/wp-config.php
. . .
define('AUTH_KEY',         'put your unique phrase here');
define('SECURE_AUTH_KEY',  'put your unique phrase here');
define('LOGGED_IN_KEY',    'put your unique phrase here');
define('NONCE_KEY',        'put your unique phrase here');
define('AUTH_SALT',        'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT',   'put your unique phrase here');
define('NONCE_SALT',       'put your unique phrase here');
. . .

Elimina esas líneas y pega los valores que copiaste desde la línea de comandos:

/var/www/your_domain/wp-config.php
. . .
define('AUTH_KEY',         'VALUES COPIED FROM THE COMMAND LINE');
define('SECURE_AUTH_KEY',  'VALUES COPIED FROM THE COMMAND LINE');
define('LOGGED_IN_KEY',    'VALUES COPIED FROM THE COMMAND LINE');
define('NONCE_KEY',        'VALUES COPIED FROM THE COMMAND LINE');
define('AUTH_SALT',        'VALUES COPIED FROM THE COMMAND LINE');
define('SECURE_AUTH_SALT', 'VALUES COPIED FROM THE COMMAND LINE');
define('LOGGED_IN_SALT',   'VALUES COPIED FROM THE COMMAND LINE');
define('NONCE_SALT',       'VALUES COPIED FROM THE COMMAND LINE');
. . .

A continuación, modifica algunos de los ajustes de conexión a la base de datos al principio del archivo. Deberás ajustar el nombre de la base de datos, el usuario de la base de datos y la contraseña asociada que se configuró dentro de MySQL.

Ingresa la información de conexión para tu base de datos remota. Recuerda usar la misma dirección IP y credenciales que usaste en tu prueba de base de datos remota anterior:

/var/www/your_domain/wp-config.php
. . .
/** The name of the database for WordPress */
define('DB_NAME', 'wordpress');

/** MySQL database username */
define('DB_USER', 'remote_user');

/** MySQL database password */
define('DB_PASSWORD', 'remote_user_password');

/** MySQL hostname */
define('DB_HOST', 'db_server_ip');
. . .

Y finalmente, después de la línea define( 'DB_COLLATE', '' );, agrega esta línea resaltada que indica a WordPress que use una conexión SSL a tu base de datos MySQL:

var/www/your_domain/wp-config.php
...
define( 'DB_COLLATE', '' );

define('MYSQL_CLIENT_FLAGS', MYSQLI_CLIENT_SSL);
...

Guarda y cierra el archivo.

Con tu configuración establecida, WordPress está instalado y estás listo para ejecutar su rutina de configuración basada en la web.

Paso 7 — Configuración de WordPress a través de la Interfaz Web

WordPress tiene un proceso de configuración basado en la web. A medida que avanza, le hará algunas preguntas e instalará todas las tablas que necesita en su base de datos. Aquí, realizará los pasos iniciales para configurar WordPress, que puede utilizar como punto de partida para construir su propio sitio web personalizado que utilice una base de datos remota.

Diríjase al nombre de dominio (o dirección IP pública) asociado con su servidor web junto con un /wp-admin al final:

http://your_domain.com/wp-admin

Se le pedirá que seleccione el idioma que desea utilizar:

A continuación, llegará a la página principal de configuración.

Seleccione un nombre para su sitio de WordPress y elija un nombre de usuario. Se recomienda elegir algo único y evitar nombres de usuario comunes como “admin” por motivos de seguridad. Se genera automáticamente una contraseña segura. Guarde esta contraseña o seleccione una alternativa segura.

Ingrese su dirección de correo electrónico y seleccione si desea desalentar a los motores de búsqueda de indexar su sitio:

Una vez que haya enviado su información, deberá iniciar sesión en la interfaz de administración de WordPress utilizando la cuenta que acaba de crear. Luego será llevado a un panel donde podrá personalizar su nuevo sitio de WordPress.

Conclusión

Siguiendo este tutorial, has configurado una base de datos MySQL para aceptar conexiones protegidas por SSL desde una instalación remota de WordPress. Los comandos y técnicas utilizados en esta guía son aplicables a cualquier aplicación web escrita en cualquier lenguaje de programación, pero los detalles de implementación específicos serán diferentes. Consulta la documentación de tu aplicación o lenguaje de programación para obtener más información.

Source:
https://www.digitalocean.com/community/tutorials/how-to-set-up-a-remote-database-to-optimize-site-performance-with-mysql-on-ubuntu-20-04