远程连接mariadb时提示Accesss denied for user 'root'@'ip'(using password:YES)

 

在centos7服务器上的docker里面拉了centos镜像,运行该镜像成一个容器后。在该容器里面创建mysql……

步骤是按照腾讯云搭建javaweb环境来的:https://cloud.tencent.com/developer/labs/lab/10035

发现mysql变成了mariadb了,关于msql和mariadb的区别于联系:https://www.jb51.net/article/135170.htm

 

经过一番折腾,弄好了相关的配置

但是在本地远程连接时一直出现以下的错误

 

网上关于这个问题的解决大部分都是教修改密码(上面的错误也可能是密码错误引起的)

关于教修改密码的,推荐Stack Overflow上的一个方法,直接看下来,比很多博客写的都要清楚,而且,还有很多不同的情况的讨论,总有一个适合的吧?

https://stackoverflow.com/questions/41645309/mysql-error-access-denied-for-user-rootlocalhost

关于修改密码时有几点提示:

 

上面的第三步,如果是mariadb的话可能要用下面的命令来重启

systemctl restart mariadb

 

还有第六步,那条修改密码的命令并不是所有版本的mysql(mariadb)都适用。如果版本不对的话会提示语法错误。

 

ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
SET password for 'root'@'localhost'=password('newpassword');  

 

不过,上面修改该密码的操作并不适用于我遇到的错误,后来找到一篇可以解决我遇到的 问题的博客

https://blog.csdn.net/Alger_/article/details/76221404

意思是远程连接数据库的用户名是root,会被拒绝?

所以要创建一个新的用户来进行远程连接,并授予该用户远程连接的权限

 

mysql>GRANT ALL PRIVILEGES ON *.* TO 'TestUser'@'%' IDENTIFIED BY '此处为TestUser的密码’' WITH GRANT OPTION;

 

 问题解决!

转载于:https://www.cnblogs.com/Guhongying/p/10901895.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当您遇到 "Access denied for user 'root'@'localhost' (using password: YES)" 这样的错误,通常这意味着MySQL/MariaDB数据库试图连接,作为 'root' 用户从本地主机('localhost')登录,但提供的密码不被接受。这可能是由于以下几个原因: 1. **密码错误**:您可能已经改变了 root 用户的密码,而尝试登录输入的不是新的密码。 2. **权限问题**:'root' 用户可能没有在当前的数据库上设置为可从本地主机访问,或者权限已被限制。 3. **安全配置**:MySQL/MariaDB的安全组设置可能阻止了从 'localhost' 的连接,或者防火墙规则未正确配置。 4. **账户锁定**:如果登录尝试过于频繁或违反了某种安全策略,root 账户可能会被锁定。 要解决这个问题,请按照以下步骤操作: 1. **确认密码**:确保您输入的密码是正确的,或者使用 `mysql` 或 `mysql -u root -p` 命令以提示输入密码。 2. **检查权限**:检查 `mysql` 或 `my.cnf` 文件中的 `bind-address` 配置,确保允许从 'localhost' 连接。 3. **解锁账户**:如果账户被锁定,运行 `mysqladmin -u root unlock` 来解锁 root 账户。 4. **修改安全配置**:如果需要,更新安全组规则或调整防火墙设置。 5. **重新启动服务**:有候重启 MariaDB 服务器可以清除临的连接问题。 如果你是第一次安装或配置 MariaDB,也请确保你已经在安装过程中设置了 root 密码,并且正确地设置了权限。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值