Cómo cambiar el puerto predeterminado MySQL/mariadb en Linux

Cómo cambiar el puerto predeterminado MySQL/mariadb en Linux

En esta guía, aprenderemos cómo cambiar el puerto predeterminado que Mysql/mariadb la base de datos vincula en Centos 7 y Debian-Distribuciones basadas en Linux. El puerto predeterminado que el servidor de base de datos MySQL se ejecuta en Linux y Unix está 3306/TCP.

Para cambiar el valor predeterminado Mysql/mariadb Puerto de base de datos en Linux, abra el archivo de configuración del servidor MySQL para la edición emitiendo el siguiente comando.

# vi /etc /mi.CNF.d/servidor.CNF [en CentOS/RHEL] # VI/ETC/MYSQL/MARIADB.confusión.servidor de d/50.CNF [en Debian/Ubuntu] 

La búsqueda de la estadística de línea comienza con [mysqld] y coloque la siguiente directiva de puerto en [mysqld] Declaración, como se muestra en los extractos de archivo a continuación. Reemplace la variable de puerto en consecuencia.

[mysqld] puerto = 12345 
Cambiar el puerto MySQL en Centos y Ubuntu

Después de haber agregado el nuevo Mysql/mariadb puerto, guarde y cierre el archivo de configuración e instale el siguiente paquete en Centos 7 Para aplicar el requerido Selinux Reglas para permitir que la base de datos se vincule en el nuevo puerto.

# yum install PolicyCoreutils-Python 

A continuación, agregue el abajo Selinux regla para vincular el socket MySQL en el nuevo puerto y reiniciar el demonio de la base de datos para aplicar 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 --------------- # Port Semanage -A -T MySQLD_PORT_T -P TCP 12345 # SystemCTL Reiniciar Mariadb --------------- En Debian/Ubuntu --------------- # SystemCTL reiniciar mysql [en Debian/Ubuntu] 

Para verificar si la configuración del puerto para Mysql/mariadb El servidor de la base de datos se ha aplicado correctamente, emitir NetStat o Comando SS y filtre los resultados a través del comando GREP para identificar fácilmente el nuevo puerto MySQL.

# ss -tlpn | GREP MYSQL # netstat -tlpn | Grep MySQL 
Verificar el puerto MySQL

También puede mostrar el nuevo puerto MySQL iniciando sesión en la base de datos MySQL con la cuenta root y emitir el siguiente comando. Sin embargo, tenga en cuenta que todas las conexiones a MySQL en Localhost se realizan a través de Socket de dominio MySQL Unix, no a través del Socket TCP. Pero el número de puerto TCP debe especificarse explícitamente en caso de conexiones remotas de línea de comando a la base de datos MySQL utilizando la -PAG bandera.

# mysql -h localhost -u root -p -p 12345 Mariadb [(ninguno)]> mostrar variables como 'puerto'; 
Verifique la variable de puerto MySQL

En caso de conexión remota a la base de datos MySQL, el usuario raíz debe configurarse explícitamente para permitir que las conexiones entrantes formen todas las redes o simplemente una dirección IP, emitiendo el siguiente comando en la consola MySQL:

# mysql -u root -p Mariadb [(ninguno)]> otorgar todos los privilegios en *.* Para 'root'@'192.168.1.159 'identificado por' StrongPass '; Mariadb [(ninguno)]> privilegios de descarga; Mariadb [(ninguno)]> salida 

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

# mysql -h 192.168.1.159 -P 12345 -u raíz -p 
Iniciar sesión remoto en MySQL en el puerto

Finalmente, una vez que hayas cambiado Mysql/mariadb Puerto del servidor de bases de datos, debe actualizar sus 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.