在连接本地mysql数据库一直都是客户端保存密码,然后一键登录。突然开发要用到这个数据库时,脑子嗡嗡的了……忘记了密码,试了很多遍还是记不起来。
没办法只能去找方案了,网上还是有很多跟我一样的大佬的。这里记录下,省得以后再出现这样的问题,还得去找……
①首先停止本地的mysql 服务 -
cmd进入mysql的安装路径的bin目录下(D:\work\tools\mysql-5.6.24-win32\bin)命令 : net stop mysql
或者在控制面板-管理工具-服务窗口中找到Mysql服务,手动停止该服务也可以。
②将root用户对数据库操作的的权限授予给别的用户 -
执行命令: mysqld --skip-grant-tables
③ 重新打开一个窗口,进入Mysql安装路径的bin目录,输入mysql,然后再输入命令 use mysql
④ 修改数据库连接密码
执行命令 : update user set password=password("123456789") where user="root";
⑤ 重新加载一下权限,将设置了密码的用户root的权限信息从内存中写入数据库。
执行命令 : flush privileges;
⑥ 修改 root 密码后,需要执行下面的语句和新修改的密码。另开一个cmd窗口,执行以下命令,然后提示输入密码:输入4中设置的密码。
执行命令: mysqladmin -u root -p shutdown
⑦ 启动数据库服务 : net start mysql
备注:查找的方案中说是在⑤步中,即执行 update user set password=password("123456789") where user="root"; 报错,
给出的解释是 mysql5.7以上没有password这个字段,变成了authentication_string,命令应该改成
update user set authentication_string=password("123456789") where user="root";
这里备注下,以后可能会遇到。
完毕!
本文参考链接: https://www.cnblogs.com/liusx0303/p/10093050.html