• 远程连接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;

     问题解决!

  • 相关阅读:
    Vue 项目目录结构分析
    Vue 项目环境搭建
    Vue 组件
    Vue 指令
    Vue 实例成员
    Django 静态文件
    MySQL 索引详解
    Django 请求生命周期
    18. 4Sum (JAVA)
    16. 3Sum Closest (JAVA)
  • 原文地址:https://www.cnblogs.com/Guhongying/p/10901895.html
Copyright © 2020-2023  润新知