Como alterar a porta MySQL/Mariadb padrão em Linux

Como alterar a porta MySQL/Mariadb padrão em Linux

Neste guia, aprenderemos a alterar a porta padrão que Mysql/mariadb O banco de dados liga CENTOS 7 e Debian-Distribuições Linux baseadas. A porta padrão que o MySQL Database Server está em execução no Linux e o Unix é 3306/TCP.

Para mudar o padrão Mysql/mariadb Porta de banco de dados no Linux, abra o arquivo de configuração do MySQL Server para edição, emitindo o comando abaixo.

# vi /etc /meu.CNF.d/servidor.CNF [no CENTOS/RHEL] # VI/ETC/MYSQL/MARIADB.conf.d/50-server.CNF [no Debian/Ubuntu] 

Procure a estatística de linha começa com [MySqld] e coloque a seguinte diretiva portuária em [MySqld] declaração, como mostrado nos trechos de arquivo abaixo. Substitua a variável da porta de acordo.

[mySqld] Port = 12345 
Altere a porta MySQL em Centos e Ubuntu

Depois de adicionar o novo Mysql/mariadb porta, salve e feche o arquivo de configuração e instale o seguinte pacote em CENTOS 7 Para aplicar o necessário Selinux regras para permitir que o banco de dados se vincule à nova porta.

# yum instalar policycoreutils-python 

Em seguida, adicione o abaixo Selinux regra para vincular o soquete mysql na nova porta e reiniciar o daemon do banco de dados para aplicar alterações, emitindo os seguintes comandos. Novamente, substitua a variável da porta MySQL para corresponder ao seu próprio número de porta.

--------------- No CentOS/Rhel --------------- # semanage porta -a -t mysqld_port_t -p tcp 12345 # systemctl reiniciar mariadb --------------- No Debian/Ubuntu --------------- # SystemCtl Reinicie o MySQL [no Debian/Ubuntu] 

Para verificar se a configuração da porta Mysql/mariadb O servidor de banco de dados foi aplicado com sucesso, emitir netstat ou comando ss e filtre os resultados via comando grep para identificar facilmente a nova porta MySQL.

# ss -tlpn | grep mysql # netstat -tlpn | grep mysql 
Verifique a porta MySQL

Você também pode exibir a nova porta MySQL fazendo login no banco de dados MySQL com a conta raiz e emitir o comando abaixo. No entanto, esteja ciente de que todas as conexões com o MySQL no localhost são feitas via soquete de domínio MySQL Unix, não através do soquete TCP. Mas o número da porta TCP deve ser especificado explicitamente em caso de linha de comando conexões remotas com o banco de dados MySQL usando o -P bandeira.

# mysql -h localhost -u root -p -p 12345 Mariadb [(nenhum)]> mostrar variáveis ​​como 'porta'; 
Verifique a variável da porta mysql

Em caso de conexão remota com o banco de dados MySQL, o usuário root deve ser configurado explicitamente para permitir que as conexões recebidas formem todas as redes ou apenas um endereço IP, emitindo o comando abaixo no console MySQL:

# mysql -u root -p Mariadb [(nenhum)]> conceder todos os privilégios em *.* para 'root'@'192.168.1.159 'identificado por' StrongPass '; Mariadb [(nenhum)]> privilégios descarregados; Mariadb [(nenhum)]> saída 

Faça login remotamente no MySQL Server através de um cliente de linha de comando na nova porta, emitindo o comando abaixo.

# mysql -h 192.168.1.159 -P 12345 -u Raiz -P 
Login remoto para MySQL na porta

Finalmente, depois de mudar Mysql/mariadb Porta do servidor de banco de dados, você precisa atualizar suas regras de firewall de distribuição para permitir conexões recebidas para a nova porta TCP para que clientes remotos possam se conectar com sucesso ao banco de dados.