mysql 8.0以上版本,安装及解决忘记密码问题

1、官网下载解压版MySQL数据库

下载链接:https://dev.mysql.com/downloads/mysql/

mysql 8.0以上版本,安装及解决忘记密码问题_第1张图片

mysql 8.0以上版本,安装及解决忘记密码问题_第2张图片

2、将下载的mysql放在自己喜欢的盘符,不一定是C盘,例如我的就是解压在D盘,D:\mysql\mysql-8.0.18-winx64

3、在D:\mysql\mysql-8.0.18-winx64文件夹下新建my.ini配置文件,内容如下:

[client]
# 设置mysql客户端默认字符集
default-character-set=utf8
 
[mysqld]

# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\\mysql\\mysql-8.0.18-winx64
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
# datadir=C:\\web\\sqldata
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

4、打开windows+R输入cmd,切换盘符至D:\mysql\mysql-8.0.18-winx64\bin目录下

执行:mysqld --initialize --console

执行完成后,会输出 root 用户的初始默认密码,这个我没有截图,格式是:root@localhost:初始密码,不过这个初始密码我没有登录成功过,后面讲一下无密码状态下初始密码的操作。

继续执行:mysqld install

上面步骤成功后,执行:net start mysql,如果服务能正常启动,说明MySQL数据库安装成功。

5、因为初始密码无法登录,所以我们说一下怎么在无密码状态下初始密码

(1)打开cmd,切换盘符至D:\mysql\mysql-8.0.18-winx64\bin目录下,执行:net stop mysql,关闭数据库服务;

(2)待mysql服务停止后,执行:mysqld --shared-memory --skip-grant-tables,此命令执行后,当前窗口处于锁定状态,我们重新打开一个cmd窗口;

(3)在新的cmd命令窗口,同样的先切换一下盘符,输入mysql -uroot -p,后回车,提示输入密码时直接按回车进入;当出现mysql>  的时候,说明我们已经连接到数据库;

(4)执行use mysql;

(5)执行update user set authentication_string='' where user='root';

说明:网上的update mysql.user set password='newpassword' where user='root';和update mysql.user set password=PASSWORD('newpassword') where User='root';在8.0以上版本已失效。

(6)执行:alter user 'root'@'localhost' identified by '123456';

(7) 如果提示成功,继续执行:flush privileges;如果不成功,则执行:flush privileges;后在执行alter user 'root'@'localhost' identified by '123456';

(8)总之,这一步:flush privileges;不能少,只要成功就执行,不成功也要执行以下。

6、第5步执行完毕后,我们就已经初始化密码了,但是如果使用客户端登陆数据库时会出现:caching-sha2-password的问题,这是mysql在8.0版本更改密码验证规则导致的,为什么更改后就不能登录,我也不知道。知道原因了,就知道怎么解决了。

7、修改密码验证规则,也就是还原到以前的密码验证方式。通过cmd登录mysql数据库,执行:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密规则 
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用户密码 
FLUSH PRIVILEGES; #刷新权限 

8、至此,MySQL数据安装及客户端无法登录问题解决完毕。

 

你可能感兴趣的:(笔记)