[Resolvido] 2002-não é possível conectar-se ao servidor em 192.168.xx.xx (10061) O banco de dados MySQL não pode ser conectado remotamente

O banco de dados MySQL não pode ser conectado ao servidor MySQL no sistema Linux. Deixe-me resumir as armadilhas que encontrei. Espero que os parceiros possam prestar atenção a isso.

As máquinas virtuais e serviços que uso, a ferramenta de link do cliente de banco de dados

VM

janela de encaixe 

MySQL57

navegador

Quais são os seguintes motivos comuns para os problemas acima?

1. O firewall no Linux não está fechado

Desligue o comando do firewall

systemctl stop firewall #Fecha temporariamente o firewall 
systemctl desabilita firewall #Fecha permanentemente o firewall

2. O número da porta no MySQL remoto é inconsistente com o número da porta no navicat

Faça login no MySQL com o seguinte comando

docker exec -it mysql /bin/bash entra no contêiner

Faça login no MySQL

mysql -u nome de usuário -p senha -P número da porta -h (endereço IP)

Após fazer login no banco de dados, visualize o número da porta do banco de dados atual

mostre variáveis ​​globais como 'porta';

 

Se o número da porta estiver incorreto, altere o número da porta no navicat.

 

3. Pode ser que o firewall do servidor não esteja aberto, causando falha na conexão.

Envie uma regra para permitir a porta 3306

iptables -I INPUT -p top --aport 3306 -j ACEITAR

4. A porta não está sendo escutada

Visualize informações da porta de rede na máquina virtual:

#netstat-ntpl 

Após verificar o status do firewall, constatou-se que todos os pacotes de dados na porta 3306 foram perdidos.

# iptables-vnl

Limpar regras de firewall

#iptables -F

5. As permissões de root no banco de dados MySQL são insuficientes. Pode ser que o serviço remoto localhost não consiga reconhecê-lo.

Método 1: autorização direta (recomendado)

Faça login no mysql

Execute o seguinte comando

Definir comando de permissão

mysql> concede todos os privilégios em *.* para 'root'@'%' identificado por '123456';
从任何主机上使用root用户,密码:你的password(你的root密码)连接到mysql服务器:
  # mysql -u root -proot
  mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION

Método 2: Faça login localmente no mysql, altere o item "host" na tabela "usuário" no banco de dados "mysql" e altere "localhost" para "%"

#mysql -u root -proot
  mysql>use mysql;
  mysql>update user set host = '%' where user = 'root';
  mysql>select host, user from user;

6. Use docker ps -a para verificar se o processo no MySQL está funcionando normalmente.

 Eu reiniciei aqui. Se você não reiniciou, digite o seguinte comando...

docker start mysql或ID号  #开启mysql服务

docker start mysql或ID号  #关闭mysql服务

docker restart mysql或ID号  #重启mysql服务

Use docker ps -a novamente para verificar se o mysql foi iniciado

7. Verifique se a máquina virtual está conectada à Internet normalmente no Centro de Compartilhamento de Rede do Windows. Se não estiver conectada à rede, inicie a rede.

1) O Windows 11 abre o adaptador de rede da máquina virtual

 

 

 Ligue a rede de máquinas virtuais acima

2) Verifique também o status da rede na máquina virtual

Até aqui

O banco de dados mysql pode ser conectado com sucesso. O acima foi verificado pessoalmente. Espero que possa inspirar a todos. Mesmo que os problemas relevantes não sejam resolvidos, também servirá de inspiração a todos para que vocês não se percam. 

Acho que você gosta

Origin blog.csdn.net/weixin_43608968/article/details/129341893
Recomendado
Clasificación