无法远程登录MYSQL

无法远程登录MYSQL

我对 mysql 很陌生,我想使用远程登录,我按照这个但该命令没有在屏幕上显示链接中列出的内容

$ lsof -i -P | grep :3306
$

这是输出。

我目前所做的: 我编辑了文件/etc/mysql/my.cnf做出改变,看起来像这样

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

我基本上想要的是远程登录。但我无法做到这一点。我在终端上运行以下命令

$ mysql -h 127.6.110.2 -u adminTwz5PWn -p
$ enter password:
ERROR 1045 (28000): Access denied for user 'adminTwz5PWn'@'localhost' (using password: YES)

为了获取所需信息,我从 Openshift 获取了此用户名和密码 我担心的是如果我在命令中提供主机 ip,@'localhost' 会如何出现

我有用户登录mysql如下

+------------------+---------------+
| 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     |
+------------------+---------------+

如果我哪里错了,请纠正我。需要哪些步骤才能成功

答案1

整个 IP 范围都127.0.0.0/8保留用于环回。尽管人们通常只使用127.0.0.1,但 IP127.6.110.2也是环回的,因此您会收到“localhost 错误”。

在您的 mysql 服务器上运行ip aifconfig找出您的公共 IP 地址,然后连接到该地址。

您还需要拥有允许从远程计算机连接的 mysql 用户。mysql在您的服务器上运行以打开 mysql 控制台并运行以下查询之一(使用您的凭据更改用户名和密码):

仅允许远程用户从特定 IP xxxx 连接:

GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'x.x.x.x' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;

允许远程用户从任何地方连接:

GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;

为了确保这些查询生效,请运行FLUSH PRIVILEGES;

相关内容