En este artículo, le mostraré cómo exponer el servidor de bases de datos MySQL y Mariadb a Internet. Estaré usando Ubuntu 18.04 lts para demostrar los procesos. Pero, también debería funcionar en otras distribuciones de Linux. Los archivos de configuración pueden estar en una ubicación diferente. Esa es la única diferencia. Entonces empecemos.
¿Necesito una dirección IP pública??
Si desea exponer mysql o mariadb a Internet, necesitará una dirección IP pública. De lo contrario, su servidor no se puede acceder desde Internet.
Si desea acceder a MySQL o MariadB solo desde su red local (LAN), entonces los procedimientos que se muestran aquí deberían funcionar. En ese caso, no necesita una dirección IP pública.
Instalación de mariadb/mysql ubuntu:
Mariadb/mysql está disponible en el repositorio oficial de paquetes de Ubuntu. Entonces, es fácil de instalar.
Primero, actualice el caché del repositorio del paquete APT con el siguiente comando:
$ sudo apt actualización
Ahora, puede instalar la base de datos MySQL o MariadB en Ubuntu. Ambos son técnicamente iguales. La única diferencia es; MySQL es desarrollado por Oracle y Mariadb es la comunidad desarrollada. La licencia de mariadb es más abierta que mysql. Mariadb es un bifurcado de mysql.
Puede instalar MySQL en Ubuntu con el siguiente comando:
$ sudo apt install mysql-server mysql-clientSi desea usar mariadb en lugar de mysql, puede instalarlo en Ubuntu con el siguiente comando:
$ sudo apt install mariadb-server mariadb-clientUna vez que haya ejecutado el comando requerido para instalar su paquete de base de datos deseado, presione Y y luego presiona . Iré con mariadb.
MySQL/mariadb debe instalarse.
Cambiar la dirección de enlace de MySQL/MariadB:
Ahora, debe cambiar la dirección de enlace de MySQL/Mariadb.
Si ha elegido mysql, entonces el archivo de configuración para editar es /etc/mysql/mysql.confusión.d/mysqld.CNF
Si ha elegido a MariabD, entonces el archivo de configuración para editar es /etc/mysql/mariadb.confusión.servidor de d/50.CNF
Ahora, edite el archivo de configuración requerido (en mi caso el archivo de configuración de mariadb /etc/mysql/mariadb.confusión.servidor de d/50.CNF
) con el siguiente comando:
Ahora, desplácese hacia abajo un poco y encuentre la línea como marcada en la captura de pantalla a continuación.
Una vez que encuentres la línea, comente la línea (colocando un # Al comienzo de la línea).
Ahora, guarde el archivo de configuración presionando + X seguido por Y y luego presiona .
Ahora tienes que reiniciar el servicio MySQL/Mariadb.
Si ha instalado MySQL, ejecute el siguiente comando:
$ sudo systemctl reiniciar mysqlSi ha instalado mariadb, ejecute el siguiente comando:
$ sudo systemctl reiniciar mariadbCreación de nuevos usuarios:
Ahora, para acceder a MySQL/MARIADB de forma remota, debe crear al menos un usuario de la base de datos MySQL/Mariadb con privilegios de acceso remoto.
Para hacer eso, inicie sesión en la consola de base de datos MySQL/Mariadb como raíz Con el siguiente comando:
$ sudo mysql -u rootNOTA: Por defecto, el servidor mysql/mariadb no tiene raíz Contraseña establecida. Si está utilizando un servidor mysql/mariadb existente, entonces puede tener raíz Contraseña establecida. En ese caso, puede iniciar sesión en la consola MySQL/Mariadb de la siguiente manera:
$ sudo mysql -u root -pDeberías iniciar sesión en la consola MySQL/Mariadb.
Ahora, cree un usuario de la base de datos con el siguiente comando SQL:
Crear usuario 'Your_username'@'host_ip_addr' identificado por 'Your_Password';NOTA: Reemplazar su nombre de usuario y tu contraseña dependiendo de lo que desee el nombre de usuario y la contraseña. Aquí, host_ip_addr es el nombre de host o la dirección IP de la computadora desde donde desea conectarse al servidor mysql/mariadb. También puedes usar De % como host_ip_addr Si desea conectarse desde cualquier computadora. También puede ser algo como 192.168.2.De % Si desea conectarse desde las computadoras desde el rango de IP 192.168.2.1 - 192.168.2.254.
Ahora, otorgue privilegios a las bases de datos necesarias al usuario que acaba de crear. Simplemente dejaré que el usuario use todas las bases de datos.
Otorgar todos los privilegios en *.* A 'Shovon'@'%';NOTA: *.* significa todas las bases de datos. También puedes usar db_name.* Para dejar que el usuario use la base de datos db_name.
Ahora, aplique los cambios con el siguiente comando SQL:
Privilegios de descarga;Ahora, salga de la consola Mariadb/MySQL con el siguiente comando:
abandonarConectarse al servidor MySQL/Mariadb de forma remota:
Para acceder al servidor MySQL/Mariadb de forma remota, debe conocer la dirección IP o el nombre de host del servidor MySQL/Mariadb.
Para encontrar la dirección IP del servidor mysql/mariadb, ejecute el siguiente comando en el servidor:
$ ip aComo puede ver, la dirección IP es en mi caso 192.168.21.128. Será diferente para ti. Entonces, asegúrese de reemplazarlo con el tuyo de ahora en adelante.
Puede acceder al servidor MySQL/Mariadb desde cualquier programa de clientes MySQL/Mariadb, incluido el programa de cliente MySQL basado en terminal tradicional. Hay muchos ides gráficos de MySQL/MariadB como DataGrip, MySQL Workbench, etc. En esta sección, me conectaré al servidor MySQL/MariadB desde el programa MySQL Client basado en terminal. El programa de cliente MySQL/Mariadb no está instalado de forma predeterminada. Pero, puede instalarlos muy fácilmente.
Para instalar las herramientas del cliente MySQL, ejecute el siguiente comando:
$ sudo apt install mysql -client -y
Para instalar las herramientas del cliente mariadb, ejecute el siguiente comando:
$ sudo apt install mariadb -client -y
Nota: Puede instalar el mysql-client o el mariadb-client y podrá conectarse al servidor mysql/mariadb desde cualquiera de estos clientes.
Ahora, desde la máquina de su cliente, conéctese al servidor MySQL/Mariadb de forma remota con el siguiente comando:
$ mysql -u your_username -h host_ip_addr -pNota: Repaltar su nombre de usuario con su nombre de usuario mysql/mariadb y host_ip_addr con el nombre de host o la dirección IP de su servidor mysql/mariadb.
Ahora, escriba la contraseña para su usuario de MySQL/MARIADB y presione .
Debe estar conectado al servidor mysql/mariadb de forma remota como puede ver en la captura de pantalla a continuación. Estoy conectado a mi servidor mariadb.
También puedo ejecutar consultas de base de datos MySQL/mariadb.
Entonces, así es como expone los servidores de bases de datos MySQL y MariadB a Internet. Gracias por leer este artículo.