Estou recebendo erro:
"Conexão perdida com o servidor MySQL ao 'ler o pacote de comunicação inicial, erro do sistema: 0"
enquanto eu vou conectar meu db.
Se estou usando localhost, tudo está funcionando bem. Mas quando estou usando meu endereço IP ativo, como abaixo, está recebendo um erro:
mysql_connect("202.131.xxx.106:xxxx", "xxxx", "xxxxx") or die(mysql_error());
Abra o arquivo de configuração mysql chamado my.cnf e tente encontrar "endereço de ligação", substitua aqui a configuração (127.0.0.1 OR localhost) pelo ip do servidor ativo (o ip que você está usando na função mysql_connect)
Isso resolverá o problema definitivamente.
obrigado
fonte
127.0.0.1
aonde aplicável, para que o acesso direto de outros hosts não seja possível. Isso evita ataques remotos de força bruta e não expõe possíveis problemas de segurança à rede. Se o seu aplicativo estiver localizado na mesma máquina (que é uma configuração de hospedagem muito comum), use127.0.0.1
resp.localhost
como host mysql e funcionará da mesma maneira que vincular o serviço à sua interface externa e usá-lo como host mysql. Se o seu aplicativo estiver localizado em outro lugar, use uma rede interna, se possível.1) Permitir conexão remota ao MySQL. Editar arquivo:
Linha de comentário:
Reinicie o MySQL:
2) Crie usuário para conexão remota.
3) No meu caso, eu preciso conectar remotamente do Windows à máquina VirtualBox com o Ubuntu. Então, eu preciso permitir a porta 3306 no iptables:
fonte
FLUSH PRIVILEGES
depois de criar um novo usuário.Teve este problema ao configurar um novo servidor escravo. Constatou que estava faltando o endereço IP do servidor escravo no
/etc/hosts.allow
arquivo do servidor mestre . Adicionado o endereço IP e deixe-me conectar ao servidor principal.Observe que eu uso
hosts.allow
ehosts.deny
para controlar o acesso.fonte
allow
quandodeny
temALL: ALL
...Eu tive esse problema e acabou sendo o administrador do sistema anterior alterado a porta em que o MySQL estava sendo executado. O MySQL Workbench estava tentando se conectar ao 3306 padrão, mas o servidor estava rodando em 20300.
fonte
O problema no meu caso era o MySQL ser vinculado apenas ao lo no Linux. para resolver o problema, editei o my.cnf (encontrado em /etc/mysql/my.cnf) removendo a linha bind-address = 127.0.0.1
isso permite que o mysql se ligue a qualquer interface de rede
fonte
Este erro ocorreu ao tentar conectar-me ao Google Cloud SQL usando o MySQL Workbench 6.3.
Após uma pequena pesquisa, descobri que meu endereço IP foi alterado pelo provedor de Internet e ele não era permitido no Cloud SQL.
Eu o autorizei e voltei ao trabalho.
fonte
Eu encontrei exatamente esse mesmo erro ao conectar a partir do MySQL workbench. Aqui está como eu consertei. Meu arquivo de configuração /etc/my.cnf tinha o valor do endereço de ligação definido como o endereço IP do servidor. Isso precisava ser feito para configurar a replicação. Enfim, eu resolvi fazendo duas coisas:
por exemplo
fonte
O problema para mim foi que as consultas DNS foram bloqueadas pelo FW na sub-rede. A solução foi desativar as pesquisas de DNS no MySQL.
fonte
Acabei de configurar o mysql em uma caixa do Windows. Eu recebi o erro do OP ao tentar conectar-me ao cliente Navicat MySql na mesma caixa. Eu tive que especificar 127.0.0.1 como o host, e isso foi conseguido.
localhost ou o endereço IP real dos servidores não funcionou.
fonte
O erro significa que não recebeu uma resposta da porta em que esperava encontrar o servidor. As causas variam entre o contato com a máquina incorreta (por uma série de razões) e o servidor não estar na porta esperada.
Verifique a qual porta seu servidor está associado no /etc/mysql/my.cnf. Isso corresponde ao que está na sua declaração de conexão. Se eles corresponderem, tente conectar-se ao mysql no próprio servidor e na linha de comando da máquina em que você está executando o cliente. Se funcionar de um lugar e não de outro, você poderá ter um problema de configuração do firewall / roteador.
fonte
ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (61)
, não aLost connection to MySQL server
mensagem.no meu caso, eu tinha ALL: ALL no hosts.deny. Alterar isso para ALL: PARANOID resolveu meu problema ao conectar-se através do ssh
fonte
O problema foi bastante estúpido para mim.
Eu costumava ter o mesmo problema na máquina Ubuntu do AWS EC2 (o MariaDB está instalado localmente por enquanto), então tentei fazer o tunelamento SSH e tive o mesmo problema. Então eu tentei ssh encapsular o terminal:
E isso me disse o seguinte:
Mudei o usuário ssh do root para o ubuntu, assim como minha configuração do ssh, e ela se conectou perfeitamente.
Portanto, verifique seu usuário de conexão SSH.
Eu supervisionei isso, então isso demorou meia hora do meu tempo, então espero que isso seja útil para você.
fonte
Para mim, o arquivo de configuração foi encontrado "/etc/mysql/mysql.conf.d/mysqld.cnf", comentando o endereço de ligação, fez o truque.
Como podemos ver aqui: Em vez de pular a rede, o padrão agora é ouvir apenas no host local, que é mais compatível e não é menos seguro.
fonte
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
e em vez debind-address = 111.112.113.114
eu useibind-address = 127.0.0.1
. As configurações do túnel SSH são definidas conforme descrito em hostpresto.com/community/tutorials/… Bom trabalho! Obrigado!Deparou-se com esse mesmo problema, o endereço Bind e para trás sem sucesso. A solução para mim foi liberar privilégios .
fonte
Para mim definir
bind-address = 0.0.0.0
emmysql/my.cnf
funcionou. Basicamente, ouve todos os endereços (mas ainda uma porta).E não se esqueça de reiniciar o servidor:
systemctl restart mysql
fonte
Acabei de ter o mesmo problema, mas no meu caso resolvi-o com
fonte
Mais uma razão ...
Encontrei um servidor Ubuntu onde tudo era personalizado e não conseguia conectar por causa do mesmo erro.
Essa configuração estava dentro
/etc/ssh/sshd_config
Depois de virar
Consegui me conectar remotamente ao meu banco de dados MySQL
fonte
Estou tentando conectar meu contêiner db docker no Ubuntu 18.04, mesmo problema.
Primeiro verifique seu dispositivo executando
nmcli dev
para verificar se o dispositivodocker0
está conectado.Se não estiver conectado, tente reiniciar o serviço docker:
sudo service docker restart
fonte
No meu caso, era a porta de bloqueio de wifi da universidade 3306. Consegui conectar usando um ponto de acesso móvel.
Mude para um ponto de acesso móvel ou outra rede e, se funcionar, você sabe que a rede original está bloqueando a porta 3306. Se você receber o mesmo erro em mais de uma rede, saberá que é específico para sua máquina.
fonte
Firewalld
bloqueia o endereço IP. para dar acesso, use estes comandos:firewall-cmd --permanent --zone = confiável --add-source = YOUR_IP / 32
firewall-cmd --permanent --zone = confiável --add-port = 3306 / tcp
firewall-cmd --reload
fonte
Ao conectar-me ao Mysql remotamente, recebi o erro. Eu recebi este aviso em
/var/log/mysqld.log
:Acabei de adicionar esta linha ao
/etc/hosts
arquivo:Problema resolvido! Não usar
skip-name-resolve
causou alguns erros no meu aplicativo local ao conectar ao MySQL.fonte
Eu tive problema idêntico. Para corrigi-lo, mudei o host de localhost: 3306 para apenas localhost. Portanto, o erro pode surgir quando você separa uma porta imprópria para conexão. É melhor deixá-lo como padrão.
fonte
-P 3306
A permissão de leitura e gravação do diretório do banco de dados também foi um problema que encontrei. Apenas verifique se o seu aplicativo é capaz de rw arquivos no local db. Experimente o chmod 777 para testar.
fonte
Eu enfrentei o mesmo problema. Eu verifiquei e tentei definir AllowTcpForwarding Yes, mas ele estava ausente no meu sshd_config, portanto não ajuda. Não mudei o sshd_config ou o my.cnf. Verifique se o nome do host ssh NÃO é o mesmo do nome do host mysql (use localhost).
No ambiente de trabalho, escolha + para adicionar nova conexão e defina o seguinte:
Teste a conexão. Deverá ser bem sucedido e clique em OK.Viola!
fonte
Se o endereço de ligação não estiver presente no seu arquivo de configuração e o mysql estiver hospedado na instância da AWS, verifique seu grupo de segurança. Em condições ideais, as regras de entrada devem aceitar toda a conexão da porta 3306 e a regra de saída deve responder de volta a todos os IPs válidos.
fonte
Eu fiz abaixo de 3 etapas, trabalhando para mim.
bind-address = "YOUR MACHINE IP"
nomy.cnf
arquivo /etc/my.cnfReinicie o serviço por comando:
service httpd restart
GRANT ALL PRIVILEGES ON yourDB.* TO 'username'@'YOUR_APPLICATION_IP' IDENTIFIED BY 'YPUR_PASSWORD' WITH GRANT OPTION;
fonte
Eu tive um erro semelhante (conexão com o MYSQL no aws via MYSql Workbench). Eu costumava me conectar bem antes e de repente ele parou de funcionar e simplesmente não funcionou novamente). Minha conexão foi via SSH protegida por arquivo de chave.
Acontece que eu estava atingindo o tempo limite. Portanto, aumentei o tempo limite da conexão SQL para 30 segundos (do padrão 10) e foi bom voltar novamente. coisas a tentar (se você estiver em uma configuração semelhante)
mysql -u [username] -p [database]
? Isso verificará problemas de direitos do usuário etc.fonte
Espaço em disco limitado pode causar esse erro.
Verifique o espaço em disco
Tente aumentar o espaço se houver 100% de discos usados.
No meu caso: Eu tenho a caixa Vagrant (8.0.1) (Ubuntu 16.04) Minha capacidade de disco mysql era de 10 GB, aumentei para 20 GB
Então reinicie o mysql
fonte
Se você se deparar com essa conexão incorreta do controle remoto, vá para a opção mysql remote no cpanel e adicione% no Host (% curinga é permitido).
fonte