Como Alterar a Porta de Escuta do MySQL no CentOS

Alterar a porta padrão do MySQL (3306) é uma prática comum para aumentar a segurança do servidor ou evitar conflitos de rede. No CentOS, esse processo envolve a modifiacção dos arquivos de configuração e o ajuste das políticas de segurança do sistema operacional.

1. Editando a Configuração do MySQL

O primeiro passo é modificar o arquivo de configuração principle, geralmente localizado em /etc/my.cnf. Para realizar as alterações, você precisará de privilégios de superusuário (root).

# Acessar como root
sudo su -

# Abrir o arquivo de configuração
vi /etc/my.cnf

Dentro do arquivo, localize a seção [mysqld] e adicione ou altere o parâmetro port. No exemplo abaixo, utilizaremos a porta 3307:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Definindo a nova porta de comunicação
port=3307

# Outras configurações de rede
bind-address=0.0.0.0
character-set-server=utf8mb4
default-storage-engine=innodb

Após a edição, presione ESC, digite :wq e aperte Enter para salvar e sair.

2. Ajustando as Políticas do SELinux

O CentOS utiliza o SELinux por padrão, o que pode bloquear o MySQL de iniciar em uma porta não convencional. É necessário informar ao sistema que a nova porta é permitida para o serviço de banco de dados.

Caso o comando semanage não esteja disponível, instale o pacote policycoreutils-python.

# Adicionar a nova porta às políticas do SELinux
semanage port -a -t mysqld_port_t -p tcp 3307

3. Configuração do Firewall

Se o seu servidor utiliza o firewalld, você deve liberar o tráfego de entrada para a nova porta definida:

# Liberar a porta 3307 permanentemente
firewall-cmd --add-port=3307/tcp --permanent

# Recarregar as regras do firewall
firewall-cmd --reload

4. Reinicialização do Serviço

Com as configurações de sistema e segurança prontas, reinicie o daemon do MySQL para aplicar as mudanças:

systemctl restart mysqld

Se o serviço falhar ao iniciar, verifique os logs de erro para identificar possíveis problemas de permissão ou sintaxe:

journalctl -xeu mysqld

5. Verificação da Alteração

Para confirmar se o MySQL está operando na nova porta, acesse o console do banco de dados e execute uma consulta nas variáveis globais:

mysql -u root -p

# Dentro do terminal MySQL, execute:
SELECT @@port;

A saída deverá exibir o valor 3307 (ou a porta que você configurou). Ao conectar-se via ferramentas externas, como o MySQL Workbench ou DBeaver, lembre-se de atualizar as configurações de conexão para apontar para o novo identificador de porta.

Tags: MySQL CentOS Linux SELinux firewall

Publicado em 8-8 07:47