Não é possível conectar remotamente ao MySQL

1

Eu tenho três servidores e amp; 1 máquina Windows em execução em uma LAN

HTTP server (Apache2, PHP5 & phpmyadmin) - 10.0.0.10
DNS - 10.0.0.1
MySQL - 10.0.0.40
Windows - 10.0.0.157

Acabei de instalar uma nova cópia do mysql no servidor mysql. Eu comentei o endereço de ligação primeiro. Eu dei privilégios fazendo o seguinte.

CREATE USER 'https'@'localuser' IDENTIFIED BY 'password';
CREATE USER 'https'@'10.0.0.10' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'https'@'localhost';
GRANT ALL PRIVILEGES ON *.* TO 'https'@'10.0.0.10';

No entanto, toda vez que tento conectar-me ao mysql através do servidor http, acontece o seguinte

mysql -u https -p
enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket 'var/run/mysqld/mysqld.sock'(2)

Quando eu tento

mysql -h 10.0.0.40 -P 3306 -u https -p

Eu recebo um erro diferente

ERROR 1045 (28000): Access denied for user 'https'@'10.0.0.10' (Using password: Yes)'

Não sei por que isso está acontecendo, tanto quanto sei, já fiz tudo o que preciso para configurar? : (

Na minha tabela mysql para usuários eu tenho o seguinte

user  | host  
https  %
https   10.0.0.10
sqlserver   127.0.0.1
sqlserver ::1
debian-sys-maint  localhost
https    localhost
sqlserver    localhost
sqlserver    raspberrypi

Alguém pode me apontar na direção certa, por favor? Eu procurei ao redor e tudo o que vejo apenas aponta para comentar a linha de endereço de ligação.

Editar Eu não consigo nem fazer login usando localmente usando qualquer usuário além de sqlserver , que era a conta root que foi renomeada. Eu tentei adicionar novas contas e fazer login como localmente, ainda é o mesmo problema!

    
por Xiah 13.04.2015 / 19:38

3 respostas

2

Para responder a minha própria pergunta, a qual Jos respondeu parcialmente.

Você não deve comentar a linha de endereço de ligação (em /etc/my.cnf ). Em vez disso, você deve apontar para o endereço IP do servidor, ou seja, 10.0.0.40 e reiniciar o MySQL.

Isso combinado com

GRANT ALL PRIVILEGES ON *.* TO ‘https’@’localhost’ IDENTIFIED BY ‘password’ WITH GRANT OPTION;
em vez de GRANT ALL PRIVILEGES ON *.* TO 'https'@'10.0.0.10';
corrigiu o problema. Espero que isso ajude os outros a terem o mesmo problema.

Obrigado pela ajuda pessoal!

    
por Xiah 14.04.2015 / 12:46
1

se você executar

netstat -an | grep 3306

você vê uma entrada com LISTEN para a porta 3306?

    
por Styrofoam 13.04.2015 / 21:11
1

O serviço foi iniciado? Se não (ou não tiver certeza), execute:

sudo service mysql start
    
por Niklas Lindskog 13.04.2015 / 21:05