Sou muito novo no mysql e quero usar login remoto. Segui istopilhaprocesso, mas o comando não me dá nada na tela conforme listado nesse link
$ lsof -i -P | grep :3306
$
esta é a saída.
O que eu fiz até agora: eu editei o arquivo/etc/mysql/my.cnfpara fazer alterações e fica assim
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 0.0.0.0
O que eu quero basicamente é o login remoto. Mas não consigo fazer isso. Eu executo o seguinte comando no meu terminal
$ mysql -h 127.6.110.2 -u adminTwz5PWn -p
$ enter password:
ERROR 1045 (28000): Access denied for user 'adminTwz5PWn'@'localhost' (using password: YES)
Para fins de informação necessária, obtive este nome de usuário e senha do Openshift Minha preocupação é como @'localhost' entra em cena se eu estiver fornecendo o ip do host no comando
Eu tenho o login do usuário no mysql da seguinte maneira
+------------------+---------------+
| user | host |
+------------------+---------------+
| root | % |
| root | 127.0.0.1 |
| adminvKbP1kf | 127.3.138.130 |
| adminTwz5PWn | 127.6.110.2 |
| root | ::1 |
| user | hostname |
| debian-sys-maint | localhost |
| phpmyadmin | localhost |
| phpmyadmin_suraj | localhost |
| root | localhost |
| suraj | localhost |
+------------------+---------------+
Por favor, corrija-me se eu estiver errado em algum lugar. E quais etapas são necessárias para que isso seja bem-sucedido
Responder1
Todo o intervalo de IP 127.0.0.0/8
é reservado para loopback. Embora as pessoas normalmente usem apenas 127.0.0.1
, o IP 127.6.110.2
também é loopback e, portanto, você obtém o "erro localhost".
No seu servidor mysql, execute ip a
ou ifconfig
para descobrir seu endereço IP público e conecte-se a esse endereço.
Você também precisará ter um usuário mysql com permissão para se conectar a partir de uma máquina remota. Execute mysql
em seu servidor para abrir o console mysql e execute uma destas consultas (altere NOME DE USUÁRIO e SENHA com suas credenciais):
Para permitir que o usuário remoto se conecte apenas a partir de um IP específico xxxx:
GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'x.x.x.x' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;
Para permitir que o usuário remoto se conecte de qualquer lugar:
GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;
Para garantir que essas consultas tenham efeito, execute FLUSH PRIVILEGES;
-o.