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.