title: windows下mysql密码重置
date: 2020-05-09 11:53:00
categories:

  • 后端
    tags:
  • 数据库
  • mysql

问题来源

windows上的mysql好久没有用,忘记了root密码,重置过程中有些操作还是记录一下,防止忘记。

关闭mysql服务

  1. 可以用windows自带服务管理面板停止,或者用命令停止都行。

安全模式启动mysql,并连接

  1. 进入mysql安装目录,进入bin目录下,我安装的路径是:C:\Program Files\MySQL\MySQL Server 8.0\bin
  2. 在该目录下打开cmd,输入:mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --console --skip-grant-tables,其中C:\ProgramData\MySQL\MySQL Server 8.0\my.ini是配置文件my.ini放置的路径,如果不知道,可以在服务面板右键点击刚刚被停掉的mysql服务,查看属性,就可以看到。

    1. 如果没有异常退出情况就可以进行下一步了。
    2. 如果出现异常退出情况,比如:TCP/IP, --shared-memory, or --named-pipe should be configured on NT OSwindows下mysql密码重置 - 图1,我找了半天,终于找到了解决办法,windows下mysql密码重置 - 图2,就是使用命令mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --console -nt --skip-grant-tables --port=3306 --shared-memory,进入安全模式,如果出现:光标闪烁,并且没有异常退出,说明安全模式启动成功了。windows下mysql密码重置 - 图3
  3. 不要关闭已经启动的安全模式命令窗口,在bin目录下重新启动一个命令行窗口,输入命令:mysql -u root -p,直接回车,就连接成功了。windows下mysql密码重置 - 图4

修改密码

重新启动