[技术干货] mysql免安装版步骤解压后找不到密码的 解决方法方法

1.解压mysql-8.0.21-winx64
2.配置环境变量,地址写到bin文件夹下

image.png

3.创建配置文件,命名为 my.ini,内容如下

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8 
[mysqld]
interactive_timeout=28800000
wait_timeout=28800000
# 设置3306端口
port = 3306 
# 设置mysql的安装目录
basedir=D:\ProgramFiles\mysql-8.0.21-winx64\bin
# 设置mysql数据库的数据的存放目录
datadir=D:\ProgramFiles\mysql-8.0.21-winx64\data
# 允许最大连接数
max_connections=200
# 设置mysql服务端默认字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

4.安装mysql服务,输入

mysqld –install

image.png

如果报以下错误,打开cmd.exe程序的时候选择“用管理员身份打开

image.png

5.初始化mysql,输入以下命令,mysql目录下会生成 data 文件夹

mysqld –-initialize

image.png

如果没有生成data文件夹,则使用以下命令

mysqld --initialize-insecure --user=mysql

6.启动mysql,设置密码

net start mysql
mysql admin -u root -p password

image.png

设置密码失败,百度一下,别人文档中有提到打开mysql根目录下的data文件夹,找到后缀是.err的文件以文本打开找到password临时密码(可以ctrl+f搜索)然后在cmd中输入该临时密码,但是我这里的.err文件中没有password,所以使用重置密码的方法

7.如果启动了mysql服务,就要停止mysql服务,使用命令

net stop mysql

8.使用mysqld –skip-grant-tables实测在mysql8.0.21中已失效,现使用以下命令进入免密登录模式

mysqld --console --skip-grant-tables --shared-memory

image.png

9.另外开一个cmd窗口,使用mysql直接无密登录。输入以下命令回车,提示输入密码时再按回车进入

mysql -uroot -p

10.选择数据库,输入

use mysql

11.密码置空

update user set authentication_string='' where user=‘root';

12.提示成功,一定要使用一下命令,再退出

flush privileges;
exit;

13.关闭免密登录模式的cmd窗口,启动mysql服务

net start mysql

14.步骤12密码已经置空,所以无密码状态登录MySQL,输入登录命令:

mysql -u root -p

15.修改密码

alter user ‘root'@‘localhost' identified with mysql_native_password BY ‘123456';

16.刷新权限后退出,大功告成

flush privileges;
exit;