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.