MySQL 8.0版本初始化数据库&修改密码

mysql在5.7版本之后取消了user表中的password字段,password函数也改成了MD5;

今天在使用mysql 8.0.23版本的时候,初始化之后不小心关闭了命令行,只能跳过验证登录,然后修改密码。

从下载数据库开始,mysql下载地址,我下载的8.0.23版本。
MySQL 8.0版本初始化数据库&修改密码_第1张图片
MySQL 8.0版本初始化数据库&修改密码_第2张图片
下载完成之后解压,我放在了D://gitee/MySQL目录下。
在解压后的文件夹根目录创建my.ini配置文件。

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

使用管理员身份打开CMD命令行工具
cd D://gitee/MySQL/mysql-8.0.23/bin

初始化数据库,执行完成后,会输出 root 用户的初始默认密码,不过我在用的时候初始密码也登录不上去
mysqld --initialize --console

···
2018-04-20T02:35:05.464644Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: APWCY5ws&hjQ
···

输入安装命令
mysqld install

输入启动命令
net start mysql

输入登录命令
mysql -u root -p

回车确认,如果安装成功会有以下提示:
Enter password:

此时输入刚才生成的初始密码,如果登录成功就没问题了,如果你忘了初始密码,希望修改密码,接下来是8.0版本修改密码的步骤

关闭刚才启动的mysql
net stop mysql

使用如下命令启动,8.0版本必须带–shared-memory,否则报错,–skip-grant-tables表示跳过密码权限验证
mysqld –shared-memory –skip-grant-tables

另打开一个终端,直接启动mysql
mysql

刷新执行指令“FLUSH PRIVILEGES;”,刷新权限
FLUSH PRIVILEGES;

设置新密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_psd_123';

设置完成后,关闭刚才启动的跳过验证服务,正常启动MySQL服务
net start mysql

使用新密码登录
mysql -u root -p
Enter password:

MySQL 8.0版本初始化数据库&修改密码_第3张图片

以上方案在 windows10 平台 MySQL8.0.23 版本自测有效,在配置过程中参考文章https://blog.csdn.net/baidu_32363401/article/details/81544573
https://www.runoob.com/mysql/mysql-install.html

你可能感兴趣的:(mysql数据库)