仅工作台拒绝权限

时间:2018-10-15 09:16:54

标签: mysql fedora

我在服务器上有一个数据库,它正在正常运行。我可以从本地服务器访问它,也可以从连接到网络的任何服务器上使用phpmyadmin。

我想使用Workbench来使用其功能,但是我尝试了很多可能性,但无法与其连接。

我找到了很多解决方案,但是谁也帮不了我。因此,我正在寻找可以帮助我的人。

首先,我想解释一下,该数据库可从phpmyadmin(如前所述)和Web服务器(我在Web应用程序中使用数据库)访问,因此,放弃了拒绝远程访问的麻烦。 (具有root用户)

此外,我正在寻找问题,并且在数据库服务器的日志中可以找到以下内容:

error: connect to 127.0.0.1 port 3306 failed: Permission denied
channel_by_id: 0: bad id

我尝试将Workbench与TCP / IP一起通过端口3306和数据库服务器的IP使用,并通过SSH连接到Web服务器(此步骤正在正确运行)并通过本地IP和端口3306连接到数据库。

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

配置(my.cnf)是这样的:

[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

我知道这个配置并不常见,但是我没有安装它,我也不想多谈,因为它现在可以正常工作,并且很多人正在使用它。

我也尝试过编辑hosts.allow,并添加行mysqld: all,但没有用。

可能是什么问题?感谢您的帮助。

(我也检查了Stackoverflow的帖子,但找不到解决方法)

1 个答案:

答案 0 :(得分:0)

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

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

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

GRANT ALL ON <local database name>.* TO <remote web node username>@<remote web node server ip address> IDENTIFIED BY '<database user password>'; 

例如,

GRANT ALL ON magento_remote.* TO dbuser@192.0.2.50 IDENTIFIED BY 'dbuserpassword';