您的位置:首页 > 数据库 > MariaDB

Navicat远程连接阿里云上Mariadb数据库时,出现错误:1045-Access denied for user 'root'@'localhost'解决方法

2019-06-21 16:57 2371 查看

在之前的博客中介绍过在阿里云上部署mariadb数据库,并通过Navicat实现远程连接数据库的方法。好多天过去了,一直没有管理数据库,今天通过Navicat登录时突然报错:

我又通过xshell登录阿里云,通过命令行的方式登录数据库,发现一切正常,但是用Navicat连接就报错,这就很奇怪了。于是就在网上找啊找,突然发现一个方法解决了我的问题,因此在这里记录一下:

先扯个淡

其实有些人看到这个问题,可能一上来就感觉是不是密码输入错误了。因为本人之前一直也没动过这个数据库,既然曾经连接好使过,那密码确实不应该出错。括号中(using password:?)?处如果输入密码了,就显示YES,如果啥也没输入,就显示NO。

另外网上还说,还有可能是端口冲突了。如果项目多,占用了3306端口的话就自己kill一下进程或者修改一下端口吧。

我的解决办法

进入到mariadb的安装目录下,我的是/etc/mysql,进入之后,文件目录如图所示:


上述安装目录中,有两个配置文件需要重点关注一下:my.cnf和debian.cnf

在xshell命令行中cd到这个目录下,并分别用vim打开上述两个文件:

  1. my.cnf

    在[mysqld]下添加:skip-grant-tables(如果没有mysqld的话就自己照着格式写一个)

  2. debian.cnf


同样,在[mysqld]下添加:skip-grant-tables(如果没有mysqld的话就自己照着格式写一个)

修改完上面两个文件之后,重启数据库 service mysql restart

这时候再用Navicat连接一下就好使了。又可以愉快的干活了~

最后

  1. 其实我认为上面两个应该是修改一个就可以,但是具体是修改哪个我也不知道,以防万一,就都改了吧。
  2. 如果找不到自己mariadb或者mysql安装到那个文件目录下了,用 whereis mysql 语句寻找(mariadb和mysql都是查找mysql)

    然后挨个点进去找就行了。
  3. 最后别忘了重启数据库。

本文参考:https://blog.csdn.net/qq_29984105/article/details/81635232

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐