Mysql8.0 忘记密码怎么办
今天晨雨帮身边小伙伴解决了mysql8.0无法连接上的问题。中间碰到的一些问题和大家分享一下。
- 跳过密码登录时不成功
- 修改密码时不成功
- navicat连接时报#2000的问题
1.首先先停止mysql服务。可通过 net stop mysql
或者任务管理器中关闭。
2.我们进入命令提示符(管理员登陆)操作,进入mysql目录中bin文件夹下,mysql的启动方法与客户端启动方法都在这里面调用。当然我们需要用账号密码登录。
mysql8.0与其他版本不同的地方在于无法直接使用mysqld --skip-grant-tables
来跳过密码登录。在这没深入研究,版本是不能这么做。在这我们使用mysqld -console --skip-grant-tables --shared-memory
来跳过权限验证。
3.之后我们打开新cmd(管理员登录)再去mysql-bin目录下执行mysql发现已经可以进入mysql,这时候我们便可以对本地数据库进行相关操作。
- 首先我们先刷新我们的权限,
flush privileges;
然后修改密码。alter mysql.user root@localhost identified by 'newpasswd';
- 或者我们的个人信息存储在mysql库的user表中。我们可以使用
select * from mysql.user;
直接查找到root用户名下对应的密码。
当然此密码时md5加密的,但是机智的程序员们从网上搜下md5解密便能得到自己的密码。SODM5免费的。
4.但晨雨的小伙伴却依然不能依靠root和对应的密码连接上数据库,这是为啥子嘛。我一度怀疑他连接的不是自己本地的数据库,后面验证这个直觉很准确。后来发现小伙伴在映射域名时修改了root下的host。这儿root对应的host为通配符%
,或者localhost
便可以root用户名登陆,否则会连接不上哦。
这儿可用update user set host = '%' where user = 'root';
修改对应的host。
大功告成,我怀着激动的心情去navicat点下连接,#2000 unknowError。这又是啥子嘛。
经过一番挣扎,发现时SSL认证的问题,只要连接的时候在SSL中打勾便可。
大功告成,开心打卡。
发布者:admin,转转请注明出处:http://www.yc00.com/web/1733229207a3651705.html
评论列表(0条)