首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MySQL不会连接到远程服务器。总是恢复到本地服务器的IP。

MySQL不会连接到远程服务器。总是恢复到本地服务器的IP。
EN

Stack Overflow用户
提问于 2016-01-11 13:20:24
回答 2查看 69关注 0票数 1

服务器1 - 11.22.33.44

服务器2 -99.77.66

我正在尝试将MySQL从服务器1连接到服务器2,但当我这样做时,它似乎将连接IP还原到自己的服务器,用户详细信息显然是不正确的,因此失败了。

代码语言:javascript
运行
复制
Connected to Server 1 (11.22.33.44)

$ mysql -u root -p -h 99.88.77.66
ERROR 1045 (28000): Access denied for user 'root'@'11.22.33.44' (using password: YES)

就像它没有试图连接到99.88.77.66。在这两个服务器上都有允许连接到两个服务器的防火墙规则。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-11 13:23:35

您混淆了用于身份验证的目标主机。

“拒绝用户xxx@target-host的访问”。

这不是关于连接,而是您连接到哪个服务器(-name)来进行身份验证。这种技术通过将不同网络中的用户分隔开来,增加了另一层安全性。

%被用作通配符,意思是“任何目标主机”。请参阅mysql/users表。

例如,以下不是服务器:

代码语言:javascript
运行
复制
root@localhost
root@127.0.0.1
root@%

您需要root@11.22.33.44root@% (不推荐!)在mysql/users表中,以便能够连接。

票数 0
EN

Stack Overflow用户

发布于 2016-01-11 13:34:00

连接到mysql,通过以下命令使用mysql数据库

代码语言:javascript
运行
复制
use mysql;

检查用户

代码语言:javascript
运行
复制
select * from user;

并查看用户root是否具有从%访问的权限

Yon通过以下命令为app创建一个单独的用户:

代码语言:javascript
运行
复制
create user user_name@'%' identified by 'password'

将数据库表上的所有权限授予该用户

代码语言:javascript
运行
复制
  grant all on database.* to 'user_name'@'%'

别忘了刷新特权

代码语言:javascript
运行
复制
 flush privileges
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34722612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档