一、关闭mysqld服务。服务名称则根据电脑上的实际服务名来决定,windows下则用以管理员身份运行cmd.exe程序,然后输入:net stop mysql的服务名称。
二、打开一个cmd窗口,以跳过权限检查的方式启动mysql服务。在cmd窗口中输入如下:
mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" --console --skip-grant-tables。--defaults-file选项指定mysql服务器的默认配置文件。而--skip-grant-tables选项表示忽略权限检查。这个窗口一直开着
三、更新名称为mysql这个数据库名中的user表中的root用户名的密码字段authentication_string。操作如下:
先开启另一个cmd窗口,然后输入命令:mysql --user=root -p
然后直接回车,不用输入密码
然后查看该服务器上的所有数据库名称,输入命令:show databases;
然后进入名称为mysql的这个数据库,输入命令:use mysql;
然后修改密码:update user set authentication_string=password('1314520') where user='root';
然后刷新权限输入命令:flush privileges;
再退出输入命令:quit;
最后重启服务器:net start mysql57;
datadir所代表的目录下面的两个文件ib_logfile0,ib_logfile1这两个文件。
--------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
针对ubuntu上面的mysql5.7.22上面的密码丢失找回如下:
mysqld.cnf。文件路径如下:
skip-grant-tables:
sudo service mysql restart
4、输入:# mysql。直接回车。然后进入mysql库:use mysql;
authentication_string和字段plugin。然后退出:#quit
6、注释掉my.cnf文件中的skip-grant-tables。
7、重启mysql服务。