连接失败,弹窗access denied for user 'root'@'localhost' (using password: yes)
用户“root”@“localhost”的访问被拒绝(使用密码:yes)
尝试网上的方法都失败了,因为我的密码什么的都是正常的。
一、尝试新建mysql用户,短暂连接成功,后续使用连接失败。
在mysql中创建一个名为sherber
,密码为123456
的用户,以及授予该用户对所有数据库的全部权限的步骤如下:
使用管理员账户登录 mysql:
mysql -u root -p
输入管理员密码以登录。
创建新用户:
create user 'sherber'@'localhost' identified by '123456';
授予权限:
grant all privileges on *.* to 'sherber'@'localhost' with grant option;
这授予了用户 sherber
对所有数据库的全部权限,包括 with grant option
,使其具有授予其他用户权限的能力。
刷新权限:
flush privileges;
退出 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用户都能连接成功数据库:
到此这篇关于dbeaver连接不上mysql数据库(access denied for user ‘root‘@‘localhost‘)的文章就介绍到这了,更多相关dbeaver连接不上mysql内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论