Como permitir o acesso remoto ao MySQL a partir de um IP dinâmico?

3

Eu tentei procurar uma resposta, mas não consigo encontrá-la.

Eu preciso acessar remotamente uma instância do MySQL através do MySQL Workbench local. A porta está ligada (eu acredito). Eu posso Telnet para isso.

Todos os exemplos que vejo dizem algo nos moldes de

GRANT ALL PRIVILEGES ON *.* TO USER-NAME@IP IDENTIFIED BY "PASSWORD";

O problema é que estou remotamente em um IP dinâmico. O erro que recebo é

Access denied for user 'root'@'c-67-166-150-41.hsd1.ca.comcast.net' (using password: YES)

Como posso configurá-lo para me permitir participar? Eu tenho acesso root ao MySQL Workbench na máquina remota se eu controle remotamente.

Obrigado

    
por Tom Collins 13.03.2013 / 19:10

3 respostas

7

Você deve tentar usar o "%" para a parte do host. Algo como

GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'some_pass' WITH GRANT OPTION;

(Extraído da Documentação do MySQL )

Certifique-se de que as alterações afetam:

flush privileges
    
por 13.03.2013 / 19:31
10

Você estaria bem melhor usando um túnel de algum tipo para acessar o sistema. Putty / SSH fornece esse recurso muito bem.

    
por 13.03.2013 / 19:19
5

Eu não recomendaria a abertura do MySQL para outra pessoa que não seja localhost . Mas você pode se conectar remotamente se usar um cliente que lide com o tunelamento SSH. Que o MySQL Workbench não parece funcionar.

Os benefícios do tunelamento SSH é que você pode manter o servidor seguro, não expondo o MySQL ao mundo. Você pode configurar o tunelamento SSH manualmente, se desejar, mas muitos clientes de banco de dados têm esse recurso ativado.

No Mac, o Sequel Pro funciona muito bem.

Ele oferece a opção de escolher uma conexão via SSH. Uma vez nessa configuração, você insere o seguinte:

  • Nome: [qualquer nome para a conexão que você deseja]
  • Host MySQL: 127.0.0.1 [que é localhost para a máquina]
  • Nome de usuário: [nome de usuário do db]
  • Senha: [db password]
  • Banco de dados: [nome do banco de dados ou em branco para mostrar tudo o que você tem acesso]
  • Porta: 3306 [porta padrão do MySQL]

Agora aqui vem o material SSH. Qual é 100% a mesma informação que você insere quando entra em uma sessão SSH:

  • Host SSH: [nome do host ou endereço IP do servidor]
  • Usuário do SSH: [o nome de usuário do SSH]
  • Senha do SSH: [a senha do SSH]
  • Porta SSH: [deixar em branco da configuração é padrão]

E se você quiser ter um login baseado em endereço IP puro no MySQL, então você deve abrir o servidor para acessar clientes remotos, mas também ter um firewall no front-end que restrinja o acesso por IP. base para o MySQL.

    
por 13.03.2013 / 21:57