# Navicat远程连接腾讯云MariaDB报错——1045:Access denied for user ‘root’@’localhost’

Navicat远程连接腾讯云MariaDB报错——1045:Access denied for user ‘root’@’localhost’

问题

  • 在windows上用Navicat远程连接腾讯云MariaDB时,编辑完ssh和数据库连接配置后,连接时报错——1045:Access denied for user ‘root’@’localhost’

在这里插入图片描述

错误原因

  • 当登录MySQL数据库出现 Error 1045 错误时,表明你输入的用户名或密码错误被拒绝访问了;MySQL服务搭建后,默认root用户是不能进行远程访问连接的。

解决

  • 一开始以为是腾讯云的安全组没有开放3306端口,但是修改安全组之后,上面的问题依旧存在。经过学习,了解到两种解决办法
    • 改表法:当登录MySQL数据库出现 Error 1045 错误时,表明你输入的用户名或密码错误被拒绝访问了;MySQL服务搭建后,默认root用户是不能进行远程访问连接的。
    • 授权法:授权格式(mysql中不区分大小写):GRANT 权限 ON 数据库.* TO ‘用户名’@ ‘登录主机’ IDENTIFIED BY ‘密码’;

授权法实际操作:

  1. 开始 --> cmd --> service mariadb stop (停用MySQL服务 没启动的可以省略)
  2. 找到linux下MariaDB安装路径下的/etc/my.cnf
  3. 打开 my.cnf 找到 [mysqld] 然后在下面加上这句: skip_grant_tables (意思是启动MySQL服务的时候跳过权限表认证 )
  4. 然后就启动数据库修改密码了 (注意修改密码这一步是必须的,无论之前是否修改过密码
  5. service mariadb start (启动MySQL服务)—> mysql -u root -p (输入之前的数据库密码)
  6. 输入use mysql; (连接权限数据库)。
  7. 改密码:update user set password=password(“123”) where user=“root”;(别忘了最后加分号) 。
  8. 刷新权限:flush privileges;
  9. 退出 quit。
  10. 将第3 步的 my.cnf里的 skip_grant_tables 去掉(启动MySQL服务的时候不能让他跳过权限表认证 )
  11. 重启MySQL ,再进入,使用用户名root和刚才设置的新密码123就可以登录了。

连接成功

在这里插入图片描述

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值