Cómo cambiar el puerto predeterminado de MySQL/MariaDB en Linux

Cómo cambiar el puerto predeterminado de MySQL/MariaDB en Linux

En esta guía, aprenderemos cómo cambiar el puerto predeterminado que enlaza la base de datos MySQL/MariaDB. en CentOS 7. y Debian. Distribuciones de Linux. El puerto predeterminado que ejecuta el servidor de base de datos MySQL en Linux y Unix es 3306/TCP.

Para cambiar el puerto de base de datos MySQL/MariaDB. predeterminado en Linux, abra el archivo de configuración del servidor MySQL para editarlo emitiendo el siguiente comando.

# vi/etc/my.cnf.d/server.cnf [En CentOS/RHEL] # vi/etc/mysql/mariadb.conf .d/50-server.cnf [En Debian/Ubuntu]

Busque la línea stat comienza con [mysqld] y coloque la siguiente directiva de puerto bajo la instrucción [mysqld], como se muestra en los extractos del archivo a continuación. Reemplace la variable de puerto en consecuencia.

[mysqld] port = 12345  Cambiar el puerto MySQL en CentOS y Ubuntu  Cambiar el puerto MySQL en CentOS y Ubuntu Cambia el puerto MySQL en CentOS y Ubuntu

Después de ti ‘ Hemos agregado el nuevo puerto MySQL/MariaDB. guarde y cierre el archivo de configuración e instale el siguiente paquete en CentOS 7. para aplicar el SELinux reglas para permitir que la base de datos se vincule en el nuevo puerto.

# yum install policycoreutils-python

A continuación, agregue la siguiente regla SELinux. para vincular el socket MySQL en el nuevo puerto y reinicie el demonio de la base de datos para aplicar los cambios, emitiendo los siguientes comandos. Nuevamente, reemplace la variable de puerto MySQL para que coincida con su propio número de puerto.

—————En CentOS/RHEL————— # puerto semanage-a-t mysqld_port_t-p tcp 12345 # systemctl restart mariadb —————En Debian/Ubuntu————— # systemctl restart mysql [En Debian/Ubuntu] freestar.config.enabled_slots.push

Para verificar si la configuración del puerto para el servidor de base de datos MySQL/MariaDB. se ha aplicado correctamente, emita netstat o el comando ss. y filtre los resultados a través del comando grep para poder identificar el nuevo puerto MySQL.

# ss-tlpn | grep mysql # netstat-tlpn | grep mysql  Verify MySQL Port  Verificar puerto MySQL Verificar puerto MySQL

También puede mostrar el nuevo puerto MySQL iniciando sesión en la base de datos MySQL con cuenta root y ejecute el siguiente comando. Sin embargo, tenga en cuenta que todas las conexiones a MySQL en localhost se realizan a través del socket de dominio unix de MySQL, no a través del socket TCP. Pero el número de puerto TCP debe especificarse explícitamente en el caso de conexiones remotas de línea de comando a la base de datos MySQL usando el indicador-P.

# mysql-h localhost-u root-p-P 12345 MariaDB [(none)]>. muestra variables como ‘puerto’;  Verifique la variable del puerto MySQL  Verificar variable de puerto MySQL Verificar variable de puerto MySQL

En caso de conexión remota a la base de datos MySQL, el usuario root debe ser explícitamente configurado para permitir conexiones entrantes desde todas las redes o solo una dirección IP, emitiendo el siguiente comando en la consola MySQL:

# mysql-u root-p MariaDB [(none)]>. conceder todo privilegios en *. * a ‘root’@’192.168.1.159’ identificado por ‘strongpass’; MariaDB [(ninguno)]>. flush privilegios; MariaDB [(none)]>. salir

Inicie sesión de forma remota en el servidor MySQL a través de un cliente de línea de comandos en el nuevo puerto emitiendo el siguiente comando.

# mysql-h 192.168.1.159-P 12345-u root-p Inicio de sesión remoto en MySQL en el puerto  Inicio de sesión remoto en MySQL en el puerto Inicio de sesión remoto en MySQL en el puerto

Finalmente, una vez que haya cambiado el puerto del servidor de base de datos MySQL/MariaDB. necesita para actualizar las reglas de firewall de distribución para permitir conexiones entrantes al nuevo puerto TCP para que los clientes remotos puedan conectarse con éxito a la base de datos.