Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como alterar a porta padrão do MySQL/MariaDB no Linux


Neste guia, aprenderemos como alterar a porta padrão que MySQL/MariaDB banco de dados vincula no CentOS 7 e Debian distribuições Linux baseadas. A porta padrão que o servidor de banco de dados MySQL está executando no Linux e no Unix é 3306/TCP .

Para alterar o padrão MySQL/MariaDB porta do banco de dados no Linux, abra o arquivo de configuração do servidor MySQL para edição emitindo o comando abaixo.
# vi /etc/my.cnf.d/server.cnf                   [On CentOS/RHEL]
# vi /etc/mysql/mariadb.conf.d/50-server.cnf    [On Debian/Ubuntu] 

A busca pela linha stat começa com [mysqld] e coloque a seguinte diretiva de porta em [mysqld] declaração, conforme mostrado nos trechos de arquivo abaixo. Substitua a variável de porta de acordo.
[mysqld] 
port = 12345

Depois de adicionar o novo MySQL/MariaDB port, salve e feche o arquivo de configuração e instale o seguinte pacote em CentOS 7 para aplicar o SELinux necessário regras para permitir que o banco de dados seja vinculado à nova porta.
# yum install policycoreutils-python

Em seguida, adicione o SELinux abaixo regra para vincular o soquete MySQL na nova porta e reiniciar o daemon do banco de dados para aplicar as alterações, emitindo os comandos a seguir. Novamente, substitua a variável de porta MySQL para corresponder ao seu próprio número de porta.
--------------- On CentOS/RHEL --------------- 
# semanage port -a -t mysqld_port_t -p tcp 12345
# systemctl restart mariadb

--------------- On Debian/Ubuntu ---------------
# systemctl restart mysql      [On Debian/Ubuntu]  

Para verificar se a configuração da porta para MySQL/MariaDB servidor de banco de dados foi aplicado com sucesso, emita o comando netstat ou ss e filtre os resultados via comando grep para identificar facilmente a nova porta MySQL.
# ss -tlpn | grep mysql
# netstat -tlpn | grep mysql

Você também pode exibir a nova porta MySQL fazendo login no banco de dados MySQL com a conta root e emitindo 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 unix do MySQL, não via soquete TCP. Mas o número da porta TCP deve ser explicitamente especificado no caso de conexões remotas de linha de comando ao banco de dados MySQL usando o -P bandeira.
# mysql -h localhost -u root -p -P 12345
MariaDB [(none)]> show variables like 'port';

No caso de conexão remota ao banco de dados MySQL, o usuário root deve ser configurado explicitamente para permitir conexões de entrada de todas as redes ou apenas de um endereço IP, emitindo o comando abaixo no console MySQL:
# mysql -u root -p
MariaDB [(none)]> grant all privileges on *.* to 'root'@'192.168.1.159' identified by 'strongpass';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit

Faça login remotamente no servidor MySQL por meio de um cliente de linha de comando na nova porta, emitindo o comando abaixo.
# mysql -h 192.168.1.159 -P 12345 -u root -p  

Por fim, depois de alterar o MySQL/MariaDB porta do servidor de banco de dados, você precisa atualizar suas regras de firewall de distribuição para permitir conexões de entrada para a nova porta TCP para que os clientes remotos possam se conectar com sucesso ao banco de dados.