Como permitir a ligação remota ao mysql

instalei o MySQL Community Edition 5.5 na minha máquina local e quero permitir ligações remotas para que possa ligar-me a partir de fonte externa.

Como posso fazer isso?

Author: user207421, 2013-02-08

12 answers

Isso é permitido por padrão no MySQL.

O que está desactivado por omissão é o acesso remoto root. Se quiser activar isto, execute este comando SQL localmente:

 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
 FLUSH PRIVILEGES;

E depois encontrar a seguinte linha e comentá-la no seu ficheiro my.cnf, que normalmente vive em /etc/mysql/my.cnf nos sistemas Unix/OSX. Em alguns casos, a localização do arquivo é /etc/mysql / mysql.conf.d / mysqld.cnf).

Se for um sistema Windows, pode encontrá-lo na pasta de instalação do MySQL, normalmente algo como C:\Program Files\MySQL\MySQL Server 5.5\ e o nome do ficheiro será my.ini.

Mudar de linha

 bind-address = 127.0.0.1

A

 #bind-address = 127.0.0.1

E reiniciar o servidor de MySQL (Unix/OSX, e Windows ) para que as alterações façam efeito.

 568
Author: mjuarez, 2018-02-22 09:36:16

Depois de fazer tudo acima, ainda não consegui entrar como {[[2]} remotamente, mas a Telnetting para a porta 3306 confirmou que MySQL estava a aceitar ligações.

Comecei a olhar para os utilizadores do MySQL e reparei que haviavários utilizadores de raiz com senhas diferentes.

select user, host, password from mysql.user;

Então em MySQL i defina todas as senhas para root de novo e eu poderia finalmente entrar remotamente como root.

use mysql;
update user set password=PASSWORD("NEWPASSWORD") where User='root';
flush privileges;
 36
Author: Matthew Lock, 2017-04-13 12:13:38

Apenas uma nota da minha experiência, você pode encontrar o ficheiro de configuração sob este caminho {[[0]}.

(eu lutei por algum tempo para encontrar este caminho)

 22
Author: Mayur Patel, 2018-06-14 17:41:53
No meu caso, estava a tentar ligar-me a um servidor de mysql remoto na cent OS. Depois de passar por um monte de soluções (concedendo todos os privilégios, removendo atalhos de ip,ativando redes) problema ainda não estava sendo resolvido. Como se verificou, enquanto procurava várias soluções, deparei-me com iptables, o que me fez perceber que o porto de mysql 3306 não aceitava conexões. Aqui está uma pequena nota sobre como verifiquei e resolvi este problema.
  • verificar se o porto está a aceitar ligações:
telnet (mysql server ip) [portNo]
  • adicionar a regra da tabela ip para permitir ligações no porto:
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT
  • não recomendaria isso para o ambiente de produção, mas se seus iptables não estão configurados corretamente, adicionar as regras ainda pode não resolver o problema. Nesse caso, deve ser feito o seguinte:
service iptables stop
Espero que isto ajude.
 18
Author: Kushal, 2015-09-22 11:07:37

Se o seu processo do servidor de MySQL estiver a ouvir no 127.0.0.1 ou: 1 só então você não será capaz de se ligar remotamente. Se tiver uma configuração bind-address em /etc/my.cnf, Esta pode ser a fonte do problema.

Também terá de adicionar privilégios para um utilizador que não olocalhost.

 4
Author: tadman, 2013-02-08 18:42:20

Por favor, siga os passos abaixo mencionados para definir o acesso remoto de caracteres especiais para o Utilizador de MySQL.

(1) Abrir cmd.

(2) navegar pelo caminho C:\Program ficheiros\MySQL\mysql Server 5.X\bin e execute este comando.

Mysql-u root-p

(3) indique a senha de root.

(4) Execute o seguinte comando para fornecer a permissão.

CONCEDER TODOS OS PRIVILÉGIOS EM . PARA'UTILIZADOR'@' IP ' IDENTIFICADO POR "Senha';

Nome de utilizador: Nome de utilizador que deseja ligar ao servidor de MySQL.

IP: endereço IP público de onde deseja permitir o acesso ao MySQL servidor.

Senha: Senha do utilizador utilizado.

O IP pode ser substituído por % para permitir que o utilizador se ligue a partir de qualquer IP endereco.

(5) lave os previleges seguindo o comando e saia.

PRIVILÉGIOS DE DESCARGA;

Sair;

enter image description here

 4
Author: Hiren Parghi, 2017-12-30 13:52:37

Se instalou o MySQL de {[[0]}, ele só ouve na interface local por omissão. Para corrigir isso, você precisa editar /usr/local/etc/my.cnf e mudar o bind-address de 127.0.0.1 para *.

Então corre brew services restart mysql.

 3
Author: Timmmm, 2017-07-04 14:48:29
Para quem precisar, verifique se a porta 3306 da firewall também está aberta, se o seu serviço de firewall estiver a funcionar.
 2
Author: Zelkovar, 2016-12-02 12:21:26
Só Para Que Saibas. Tirei o cabelo com este problema durante horas.. finalmente eu ligo para o meu provedor de hospedagem e descobri que no meu caso usando um servidor de nuvem que no painel de controle para 1and1 eles têm um firewall secundário que você tem que clonar e Adicionar porta 3306. Uma vez acrescentei que fui directo..
 1
Author: Dan, 2016-12-13 21:13:55

E para as pessoas do OS X lá fora estejam cientes de que o parâmetro bind-address é normalmente definido no plist de lavagem e não no my.ficheiro ini. Então, no meu caso, removi <string>--bind-address=127.0.0.1</string> de /Library/LaunchDaemons/homebrew.mxcl.mariadb.plist.

 1
Author: tdmartin102, 2017-05-19 12:07:46

Este blog Como configurar um servidor de MySQL na Rede Local será útil na configuração de um MySQL a partir do zero

 0
Author: Kasun Siyambalapitiya, 2017-11-25 08:39:23

SE mysqld tem um endereço de encadernação configurado para um loopback/endereço local (por exemplo 127.0.0.1), o servidor não será acessível a partir de máquinas remotas, porque uma interface de loopback não pode ser alcançada a partir de nenhuma máquina remota.

Configure esta opção para 0.0.0.0 (:: para IPv4+6) para aceitar conexões de qualquer máquina, ou para outro endereço acessível externamente, se você quiser apenas permitir conexões em uma interface.

Origem

 0
Author: Wesley Smith, 2018-05-24 20:00:21