Mysql重置root密码
思路:
1、无密码登录root用户 ===>设置root密码
2、服务初始化时加载设置root密码的脚本
第一种思路:
步骤1:关闭MySQL服务(net stop mysql)
步骤2:使用跳过权限验证方式启动MySQL服务
进MySQL安装目录bin目录 ===> 执行命令:mysqld --console --skip-grant-tables --shared-memory
步骤3:使用root用户连接MySQL服务(mysql -u root -p),然后设置密码
set global read_only=0;
flush privileges;
ALTER USER ‘root'@'localhost' IDENTIFIED BY ‘新密码';
步骤4:关闭服务,使用正常方式启动服务
第二种思路:
步骤1:关闭MySQL服务(net stop mysql)
步骤2:创建一个文件root_newpass.sql,内容为修改密码的指令“ALTER USER ‘root'@'localhost' IDENTIFIED BY ‘新密码';”,然后将文件保存
步骤3:启动MySQL服务,指定加载配置文件和初始化时的脚本文件
进MySQL安装目录bin目录 ===>
执行命令:mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --init-file="C:\Program Files\MySQL\MySQL Server 8.0\root_newpass.sql"
–defaults-file指定的是配置文件,–init-file指定的是初始化执行的文件
步骤4:关闭服务,使用正常方式启动服务
PS:过程中出现Failed to find valid data directory。需要重新安装服务
进MySQL安装目录bin目录 ===>执行命令:mysqld -remove MySQL
mysqld --initialize-insecure
mysqld --install