MySQL数据库root用户免密登录后找不到mysql

问题现象:

刚安装并且配置好mysql数据库,登录后发现不能使用mysql
mysql> use mysql
ERROR 1044 (42000): Access denied for user ‘’@‘localhost’ to database ‘mysql’
在这里插入图片描述
查看数据库发现只有两个,没有mysql
在这里插入图片描述
之前时有的,可能跟自己改过root用户密码有关,但是使用密码登录也会报错:
在这里插入图片描述
使用客户端连接工具MySQLyog连接报错:
‘ERROR 1045: Access denied for user ‘root’@‘localhost’ (using password: YES)’
不输入密码直接进入后Mysql后,修改了root用户的密码,退出后重新使用密码连接报错:ERROR 1045: Access denied for user ‘root’@‘localhost’ (using password: YES)
在这里插入图片描述
查了很多之后,找到了一个比较好的办法:
https://blog.csdn.net/hsg77/article/details/80819985

问题原因:

还是MySQL的密码有问题,虽然是用root用户登录但实际是匿名用户登录的
用mysql匿名用户可以进入数据库,但是看不见mysql数据库.

解决办法:

1、以系统管理员的身份登录命令管理,即cmd,右键选择以管理员身份运行
2、停止mysql服务:net stop mysql
3、进入到mysql安装bin目录下:
我的方法是,先复制目录,我的是:D:\MySQL\mysql-5.6.45-winx64\bin
然后在命令管理行输入d:就直接进入复制的目录了
4、屏蔽权限,执行:mysqld --skip-grant-table
这个命令执行后之后应该是一直执行中的状态,如下:
在这里插入图片描述
5、然后新打开一个命令行,执行如下命令:
mysql -u root
use mysql
UPDATE user SET Password=PASSWORD(‘root’) WHERE user=‘root’;
flush privileges;
\q
在这里插入图片描述
6、一切顺利,再回到第一个命令窗口,结束权限屏蔽:crtl+c 退出
7、启动mysql服务:net start mysql
8、然后通过新修改的密码登录root用户,再use mysql没有任何问题,大功告成。
在这里插入图片描述
开心。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值