gpt4 book ai didi

mysql - 仅工作台拒绝权限

转载 作者:行者123 更新时间:2023-11-29 16:50:48 25 4
gpt4 key购买 nike

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

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

我找到了很多解决方案,但没有人能帮助我。因此,我正在努力寻找可以帮助我解决此问题的人。

首先,我想解释一下,这个数据库可以从 phpmyadmin(正如我之前所说)和网络服务器(我在我的网络应用程序中使用数据库)访问,因此,拒绝远程访问的麻烦就被抛弃了。 (使用 root 用户)

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

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

我尝试使用带有TCP/IP的Workbench,通过端口3306使用数据库服务器的IP,通过SSH连接到网络服务器(此步骤运行正确),并使用本地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 的帖子,但没能找到解决方案)

最佳答案

你需要配置你的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';

关于mysql - 仅工作台拒绝权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52813405/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com