我在使用root和密码访问MySQL时遇到问题。 我正在尝试使用PuTTY SSH使用
连接服务器> mysql u root -p
由于未知原因,我无法访问数据库,因为以下错误而被拒绝:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
奇怪的是,我使用与PhpMyAdmin相同的密码使用Web,我可以访问所有内容。我需要运行一个允许SQL服务器的脚本
root @ localhost用户
通过局域网而不是网络运行查询。
因此我需要用户使用命令行SSH或类似的东西进行连接。
我该如何解决这个问题?用户rott和密码通过PhpMyAdmin工作得很好,而不是通过SSH PuTTY,为什么?
为了解决这个问题,我需要做些什么吗?我使用Web界面已经使用数据库2年了。现在我需要使用SSH(22)。
请协助。 提前致谢。 阿里耶
答案 0 :(得分:0)
听起来你需要在MySQL上更新root密码。 点击此处:MySQL - ERROR 1045 - Access denied
答案 1 :(得分:0)
谢谢大家的帮助。我设法克服了这个问题:(见下文)
只有当我从旧密码更改为新时才 FIXED。在my.cnf文件中,我删除了old_password=1
的标志并重新启动MySQL服务。
然后我创建了一个新密码(使用我的旧密码),并使用 41(新)哈希长度而非 16(旧)创建。 。
然后我按照您的推荐做了flush privileges
- IT WORKS 。
谢谢!
答案 2 :(得分:0)
> mysql -h your_host_name -P your_port_number -u your_user_name -p
尝试使用主机名选项应该可以!
答案 3 :(得分:0)
运行MySQL 5.7.28的Ubuntu 18.04创建文件/etc/mysql/debian.cnf
。它包含一些凭据和其他设置。因此,默认情况下,此debian-sys-maint用户是等效的root用户。它由Debian系统上的某些维护脚本使用,并且具有副作用,它允许具有root用户访问权限的用户在/etc/mysql/debian.cnf
中查看纯文本密码。如果通过root
进行全新安装后,使用客户端的SSH失败,请尝试使用此文件中设置的凭据。