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

 

 问题解决!

posted @ 2019-05-21 19:38  一去二三浪里小白龙  阅读(4598)  评论(0编辑  收藏  举报
//增加一段JS脚本,为目录生成使用