部署discus时root访问被拒绝

请问在部署discus时root访问被拒绝怎么办啊 selinux关闭了 lamp开启了
防火墙也关闭了 权限也给了

img

img

你看你提示的错误信息没 ,信息都写了是AD错误,这个错误是mysql报的,不是linux,你现在去你mysql里面把你这个mysql用户开启远程访问权限应该就可以了

如果你的mysql是5.7用下面这个:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

如果是mysql8:
用这个:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';

或者直接使用这个:

远程设置
USE mysql;
UPDATE mysql.user SET host = '%' WHERE user = 'root';

总之确认你的密码正确后,开启用户的远程访问权限,另外如果是云服务器要确认出站规则已经把3306添加到了白名单

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:

    由于没有具体的错误信息或者细节,我们可以先按照以下几个步骤排除一些可能的原因,从而解决该问题:

    1. 确认用户名和密码 首先,我们需要确认我们使用的用户名和密码是否正确。如果我们忘记了密码,可以使用以下命令重置密码:
    sudo passwd root
    
    1. 修改/etc/ssh/sshd_config 打开/etc/ssh/sshd_config文件,并确保以下两个条目没有被注释掉:
    PermitRootLogin yes
    PasswordAuthentication yes
    

    如果修改这些设置,请重启sshd服务以使更改生效:

    sudo systemctl restart sshd
    
    1. 确认SELinux已关闭 即使我们已经关闭了SELinux,我们也需要确保它确实在运行。可以使用以下命令来检查其状态:
    sestatus
    

    如果SELinux处于“Enforcing”状态,则表示它仍在运行。为了禁用SELinux,请编辑/etc/selinux/config文件,并将SELINUX设置为“disabled”。然后重新启动系统以使更改生效。

    1. 确定是否存在iptables规则并禁用 IPTables是一个Linux防火墙,如果启用了它,则需要检查是否存在规则,这些规则可能会阻止我们登录到root账户。通过以下命令可以查看规则:
    sudo iptables -L
    

    如果有规则,请尝试删除它们:

    sudo iptables -F
    
    1. 确认文件访问权限 确保我们拥有足够的权限访问我们需要的文件。我们需要检查所有相关的文件夹和文件,例如我们是否有权访问/home或/var/www/html。 可以通过以下命令查看权限:
    sudo ls -la /path/to/folder
    

    确保该文件夹及其内容具有正确的权限以及正确的所有者和组:

    sudo chown -R username:groupname /path/to/folder
    sudo chmod -R 755 /path/to/folder
    

    如果我们仍然无法访问root账户,可以尝试查看日志以获取更多信息:

    sudo tail -f /var/log/messages
    

    这将跟踪日志文件并展示最新信息。

    如果这些步骤都无法解决问题,我们可能需要更详细的错误信息或排查更多的可能性。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^