![无法远程登录MYSQL](https://linux22.com/image/653163/%E6%97%A0%E6%B3%95%E8%BF%9C%E7%A8%8B%E7%99%BB%E5%BD%95MYSQL.png)
我对 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 a
或ifconfig
找出您的公共 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;
。