Cómo permitir la conexión remota a la base de datos del servidor MySQL

Los entornos distribuidos no son un concepto nuevo en el mundo del software. Primero, ya no necesita alojar servidores y bases de datos MySQL en una sola máquina local. Ahora puede tener un servidor dedicado que puede proporcionar el nivel requerido de seguridad y rendimiento. Con privilegios de root/sudo, puede habilitar nuevas conexiones remotas y configurar una colaboración de base de datos segura y eficiente con un servidor MySQL remoto.

Este artículo será un buen comienzo, explicando cómo habilitar y configurar conexiones remotas a servidores y bases de datos MySQL, administrar privilegios de usuario y, lo más interesante, cómo hacerlo más fácil con dbForge Studio, un IDE especializado para bases de datos MySQL.

Contenido

1. Cómo habilitar y configurar una conexión remota a un servidor MySQL
2. Cómo otorgar y configurar acceso de usuario desde un host remoto
3. Cómo conectarse a una base de datos remota
4. Cómo conectarse a un host remoto usando dbForge Studio para MySQL
5. Cómo reducir el tráfico de Internet al conectarse a un host remoto

Índice

    Cómo habilitar y configurar una conexión remota a un servidor MySQL

    Nuestra primera tarea es habilitar y configurar conexiones remotas al servidor MySQL para permitir que los usuarios se conecten al host remoto. Necesitará su máquina Windows o Linux con el servidor MySQL requerido instalado y su propio acceso de raíz para configurar una conexión remota. ¿Listo? Empecemos.

    Si desea habilitar el acceso remoto para root, ejecute el siguiente comando SQL en el servidor:

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
    FLUSH PRIVILEGES;

    Ahora necesita cambiar la dirección IP vinculante (variable vinculante) en el archivo de configuración de MySQL. Si tiene una máquina Linux, ejecute la CLI y ejecute el siguiente comando:

    sudo nano /etc/mysql/mysql.conf.d/my.cnf

    Si tiene una máquina con Windows, el nombre del archivo será my.iniy estará ubicado en el directorio de instalación de MySQL, por ejemplo C:Program FilesMySQLMySQL Server 8.0.

    Tenga en cuenta que la ubicación exacta del archivo de configuración puede diferir según su versión de MySQL, por lo que es posible que deba ajustarlo en consecuencia.

    Una vez que abra el archivo de configuración, busque la cadena de enlace. La dirección IP predeterminada es 127.0.0.1, que permite el acceso solo desde el host local (enlace 127.0.0.1). Debe instalar una nueva IP que coincida con la dirección de la ordenador que podrá acceder de forma remota al servidor MySQL. Tenga en cuenta que la configuración en 0.0.0.0 permitirá el acceso desde todos los hosts. Cuando termine, guarde y salga del archivo de configuración.

    Ahora necesita reiniciar MySQL para aplicar sus cambios. Así es como puedes hacerlo en Linux:

    sudo systemctl restart mysql

    Y si está ejecutando Windows, puede ejecutar la línea de comando, ir al directorio MySQL y ejecutar el siguiente comando (de manera similar, cámbielo según la versión de MySQL):

    net stop MySQL80
    net start MySQL80

    Si eso no funciona, puede reiniciar MySQL haciendo clic derecho y seleccionando "Reiniciar" en la pestaña "Herramientas" de su Administrador de tareas.

    Cómo otorgar y configurar acceso de usuario desde un host remoto

    Puede habilitar el acceso remoto a un usuario remoto reconfigurando esta cuenta para conectarse desde un servidor remoto en lugar de un host local. Abra el cliente MySQL como usuario root/sudo:

    sudo mysql

    Si ha habilitado la autenticación de contraseña para el acceso raíz, ejecute el siguiente comando para acceder al shell de MySQL:

    mysql -u root -p

    Puede permitir una conexión remota para un usuario conectado localmente usando el comando REDUCE USER (especificando el nombre de usuario y la IP del servidor remoto):

    mysql> RENAME USER 'user_name'@'localhost' TO 'user_name'@'remote_server_ip';

    Hay una forma alternativa: puede crear un nuevo usuario para conectarse directamente desde el host remoto:

    mysql> CREATE USER 'user name'@'remote_server_ip' IDENTIFIED BY 'password';

    Finalmente, debe otorgar privilegios al usuario remoto. Como normalmente no se recomienda otorgar TODOS los privilegios, es mejor especificar los necesarios, por ejemplo:

    mysql> GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES, RELOAD on *.* TO 'user_name'@'remote_server_ip' WITH GRANT OPTION;

    Luego puede ejecutar el comando FLUSH PRIVILEGES, que liberará la memoria almacenada en caché por el servidor después de las declaraciones CREATE USER y GRANT:

    mysql> FLUSH PRIVILEGES;

    Como beneficio adicional, nos gustaría recomendar un artículo donde puede aprender cómo verificar los derechos de los usuarios de MySQL.

    Cómo conectarse a una base de datos remota

    Ahora es el momento de conectarse de forma remota a una base de datos MySQL y probar su conexión remota en línea. Ofrecemos 3 herramientas para ayudarlo a hacer esto: MySQL CLI client, MySQL Workbench y dbForge Studio para MySQL. Encontrará instrucciones detalladas para cada herramienta en nuestra Guía detallada de conexión del servidor MySQL.

    Cómo conectarse a un host remoto usando dbForge Studio para MySQL

    Entre las 3 formas mencionadas en el párrafo anterior, nos gustaría destacar dbForge Studio for MySQL de Devart. Este es el conjunto de herramientas MySQL más completo que se puede comprar por dinero, que ofrece capacidades mucho más altas que las capacidades de herramientas similares como MySQL Workbench.

    dbForge Studio proporciona un asistente inteligente que guía al usuario a través de la configuración de un host remoto y la conexión a una base de datos, así como la conexión a un servidor local. Vea lo fácil que es hacerlo: consulte nuestra guía paso a paso para conectarse a través de dbForge Studio para MySQL.

    También puede leer la documentación del producto para aprender todo sobre la administración de conexiones de base de datos.

    Cómo reducir el tráfico de Internet al conectarse a un host remoto

    Uno de los cuellos de botella de base de datos más comunes que enfrentan los grandes proyectos es el alto tráfico de MySQL. Claro, podríamos hablar de pasar a una instancia de nube más grande, núcleos más rápidos y mejor almacenamiento, pero eso es demasiado obvio y costoso. En su lugar, nos gustaría centrarnos en algunos consejos que pueden reducir el tráfico con una configuración pequeña.

    1. Deshabilite y/u optimice las funciones de la aplicación de alto rendimiento.
    2. Utilice ProxySQL para habilitar el grupo de conexiones. Esto evitará que su programa sobrecargue MySQL con múltiples conexiones simultáneas. Otra buena característica de ProxySQL es ayudar a almacenar en caché los resultados de las consultas durante un período de tiempo.
    3. Realice un seguimiento de los cuellos de botella en sus bases de datos.
    4. Identifique y optimice las consultas que causan una gran carga. Si usa dbForge Studio para MySQL, obtendrá una herramienta especializada, Query Profiler, que lo ayudará a hacer frente fácilmente a esta tarea.
    5. Agregue índices faltantes y excluya los redundantes y no utilizados.
    6. Realice una verificación exhaustiva de sus transacciones de fondo. Algunos pueden retrasarse, otros pueden funcionar con la misma eficiencia con recursos limitados (por ejemplo, coincidencias limitadas para trabajos por lotes) y algunos pueden funcionar muy bien en réplicas.

    ¡Eso es! Si desea que su host y bases de datos MySQL remotas tomen mucho menos tiempo, pruebe la prueba gratuita de 30 días de dbForge Studio para MySQL.

    Artículos de interés

    Subir