Windows下修改MySQL5.7.11(以上)的root密码


修改mysql的root密码:
mysql的最新版本5.7.18安装后除了第一次启动服务root账户正确,以后启动root都显示密码错误。对待这种情况应该怎么解决呢?

首先

到mysql的官网下载最新的5.7.18版本的mysql,按照教程安装好,一般默认在C盘的Program Files文件夹里,mysql的数据文件在C盘的Program Data文件夹里。

环境变量进配置:

几个命令:

安装 MySQL 服务: mysqld --install

启动: net start MySQL

停止: net stop MySQL

卸载: sc delete MySQL,mysqld -remove

初始化data文件: mysqld --initialize

命令行安装也可以,注意:命令行窗口一定要用管理员模式打开,来到%MYSQL_HOME%\bin;这个目录下,
a.安装服务:mysqld –install。
b.启动服务 net start MySQL

登录mysql

  • 输入命令 mysql -uroot -p 回车,输入密码,按理说初次登录是没有密码的,直接回车即可登录,然而事实上,随机分配了密码,在你的文件中搜索 .err后缀的文件,以记事本方式打开,你会看到下图

root密码进不去

  • 启动成功了,(安装在默认C盘的Program Files文件夹里的可以直接在命令行里输入mysql的登录指令,没有安装在默认C盘的,这时候必须先进入到mysql文件夹的bin文件夹下)输入命令mysql -uroot -p 回车(这是进入mysql的root账户命令)
  • 输入密码,显示错误ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES),看着上面说的,输入YES就好了,很开心,以为发现了很激动的信息,就理所当然的输入了YES等待进去,别天真了,没任何作用。这时候无论怎么输密码都是显示ERROR 1045,没办法只有重置密码。
  • 把data文件夹删掉,用mysqld –initialize(两个‘-’)不行的话用(mysqld –initialize-insecure这个命令就可以了。也是两个‘-’) 初始化data目录即可。删不掉data的时候,把任务管理器打开kill掉mysqld进程,其他启动或者关闭服务失败的时候一样做法。)

修改root密码

  • 关闭服务net stop MySQL,用安全模式打开,mysqld –skip-grant-tables。这个时候,光标会一直闪。注意,千万别急按回车或者关闭,这时候千万不要动,打开另一个命令行窗口。(安装在默认C盘的Program Files文件夹里的可以直接在命令行里输入mysql的登录指令,没有安装在默认C盘的,这时候必须先进入到mysql文件夹的bin文件夹下)登录 mysql -u root -p密码为空,直接回车;就可以进去了。然后use mysql;
  • (可能先前的版本密码的抬头是password,5.7.11是 authentication_string,可以select * from user,查看一下)
  • (老版本)update user set password=password(“123456”) where user=”root”;
  • (5.7.11以上版本)update user set authentication_string=password(“123456”) where user=”root”;
  • 最后,flush privileges;( 命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。)就OK了。

退出去重新登录一下试试看:

文章目录
  1. 1. 首先
  2. 2. 环境变量进配置:
  3. 3. 几个命令:
  4. 4. 登录mysql
  5. 5. root密码进不去
  6. 6. 修改root密码
  7. 7. 退出去重新登录一下试试看:
,