首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >仅对Workbench拒绝权限

仅对Workbench拒绝权限
EN

Stack Overflow用户
提问于 2018-10-15 17:16:54
回答 1查看 1.2K关注 0票数 0

我有一个位于服务器上的数据库,它工作正常。我可以从本地服务器访问它,并使用phpmyadmin从连接到网络的任何服务器访问它。

我想使用Workbench来使用它的功能,但我已经尝试了很多可能性,但我无法连接到它。

我已经找到了很多解决方案,但没有人能帮助我。出于这个原因,我正在努力寻找可以帮助我的人。

首先,我想解释一下,这个数据库可以从phpmyadmin (如前所述)和webserver (我在我的web应用程序中使用数据库)访问,因此,拒绝远程访问的麻烦就被丢弃了。(使用root用户)

此外,我一直在寻找问题,在数据库服务器的日志中,我可以找到:

代码语言:javascript
复制
error: connect to 127.0.0.1 port 3306 failed: Permission denied
channel_by_id: 0: bad id

我尝试使用带有TCP/IP的Workbench,通过端口3306使用数据库服务器的IP,并使用SSH连接到the服务器(此步骤运行正常),并使用本地IP和端口3306连接到数据库。

此外,我还检查了端口3306是否已关闭以及是否已打开。

配置(my.cnf)如下:

代码语言:javascript
复制
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
max_allowed_packet=1024M
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

我知道这个配置不常见,但我还没有安装它,我不想接触太多,因为它现在是工作的,很多人都在使用它。

我也尝试过在添加mysqld: all行的情况下编辑hosts.allow,但没有成功。

会有什么问题呢?谢谢你的帮助。

(我也查看了Stackoverflow的帖子,但没有找到解决方案)

EN

回答 1

Stack Overflow用户

发布于 2018-10-15 17:20:42

您需要配置您的mysql以允许远程登录。然后,您可以指定您的ip或通配符*,以允许所有ip访问mysql数据库。

这是授予远程访问权限的命令。

登录到数据库服务器。以根用户身份连接到MySQL数据库。输入以下命令:

代码语言:javascript
复制
GRANT ALL ON <local database name>.* TO <remote web node username>@<remote web node server ip address> IDENTIFIED BY '<database user password>'; 

例如,

代码语言:javascript
复制
GRANT ALL ON magento_remote.* TO dbuser@192.0.2.50 IDENTIFIED BY 'dbuserpassword';
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52813405

复制
相关文章

相似问题

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