使用Dbeaver连接不上mysql数据库,Access denied for user ‘root‘@‘localhost‘ (using password: YES)

连接失败,弹窗Access denied for user 'root'@'localhost' (using password: YES)
用户“root”@“localhost”的访问被拒绝(使用密码:YES)

在这里插入图片描述

尝试网上的方法都失败了,因为我的密码什么的都是正常的。

一、尝试新建MySQL用户,短暂连接成功,后续使用连接失败。

在MySQL中创建一个名为sherber,密码为123456的用户,以及授予该用户对所有数据库的全部权限的步骤如下:

  1. 使用管理员账户登录 MySQL:

    mysql -u root -p
    

    输入管理员密码以登录。

  2. 创建新用户:

    CREATE USER 'sherber'@'localhost' IDENTIFIED BY '123456';
    
  3. 授予权限:

    GRANT ALL PRIVILEGES ON *.* TO 'sherber'@'localhost' WITH GRANT OPTION;
    

    这授予了用户 sherber 对所有数据库的全部权限,包括 WITH GRANT OPTION,使其具有授予其他用户权限的能力。

  4. 刷新权限:

    FLUSH PRIVILEGES;
    
  5. 退出 MySQL:

    exit;
    

现在,名为sherber,密码为123456的用户已经创建,并且拥有相应的权限。请记住,为了系统的安全性,应该仅为用户授予其实际需要的最小权限。

通过使用命令查看当前用户

mysql -u root -p -h localhost -e "SELECT User, Host FROM mysql.user;"

+------------------+-----------+
| User             | Host      |
+------------------+-----------+
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
| sherber          | localhost |
+------------------+-----------+

用户root无法使用,所以创建一个新用户,连接成功,后续使用数据库时,连接断开,之后就连接不上了。

二、原因分析

1.密码正确,还是显示上述问题,表面不是密码的问题,只不过Dbeaver只提醒用户访问失败。

2.之前下载过一次MySQL,后续重新下载,导致3306端口可能存在两个数据库。

三、解决方案

1.使用everything查看my.ini,可以看到之前残留的my.ini和后续下载的my.ini:

在这里插入图片描述

2.打开过去的ini文件,看到端口设置3306:
在这里插入图片描述

3.所以打开我后续下载安装的my.ini文件,找到端口设置,设置端口为13306:

在这里插入图片描述

4.修改后,root用户和自己新创建的sherber用户都能连接成功数据库:
在这里插入图片描述
在这里插入图片描述

  • 9
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值