安装配置MYSQL8.0.13及重置密码(忘记密码或者无法登录)
MySQL的安装配置过程,一查网上一大堆,但是每个人在安装配置的过程中都会碰到一些问题,因为安装的版本不一样,有些命令可能就不适用了。所以安装之前一定先确认好你的版本号。
下面开始安装MYSQL8.0.13。
第一步:先去官网下载安装包:官网下载地址:https://dev.mysql.com/downloads/mysql/
这是我下载的windows(x86 64位)的MySQL8.0.13的zip包。下载完毕以后,解压到你想要安装的位置,我放到了这个位置:D:\MyPrograms\mysql-8.0.13-winx64

第二步,配置MYSQL环境变量,设置mysql命令全局使用。
如下图1的路径,打开【系统】,点击2【高级系统设置】,打开系统属性,选择3【环境变量】弹出窗口,选择系统变量中的4【新建】,弹窗,变量名为:MYSQL_HOME,路径是刚刚解压的路径,确定以后如图中5。

在系统变量中找到path,点击【编辑】添加%MYSQL_HOME%\bin\
如下图
确定以后,mysql的命令就设置为全局的了,在任何地方都可以使用mysql的命令

第三步:生成存放数据库的文件夹data
以管理员身份运行cmd,在任意路径下执行命令:mysqld –initialize-insecure –user=mysql
都会在我们解压的路径下产生data文件夹。
我解压路径是:D:\MyPrograms\mysql-8.0.13-winx64,所以下面与bin同级目录,产生了一个data文件夹。如下图,以后的建立的数据库都存在data里面

第四步: 安装MySQL服务
在cmd窗口执行命令:执行命令:mysqld -install
MySQL服务安装成功如下图:

启动服务,执行命令:net start mysql

请注意:这里不用需要配置文件my.ini,用了这个反而服务启动不起来。
第五步:登录MySQL
现在所有的配置都已经完成,开始我们的MySql之旅吧。
打开命令窗口,输入登录命令:mysql -u root -p
按回车以后会提示输入密码如下图:
这时候刚刚安装好,root是没有密码的,所以直接按回车键就可以进入mysql了。

第六步:修改MySQL密码
MYSQL-8.0.13重置用户名密码命令((命令后面的分号一定不能落掉)):
1 | ALTER USER 'root' @ 'localhost' IDENTIFIED BY '新密码' ; |
注意:
1.在 MySQL5.7 中 user 表的 password 换成了authentication_string。
2. password() 加密函数已经在 8.0.11 中移除了
所以之前的更新用户空密码命令:update user set password=password(”) where user=’root’;
现在变成了((命令后面的分号一定不能落掉)):update user set authentication_string=” where user=’root’;
第七步:查询用户名及密码
登录mysql后,输入命令(命令后面的分号一定不能落掉):select host,user,authentication_string from mysql.user;

第八步:退出mysql

MYSQL8.0.13重置密码(忘记密码或者无法登录)
上一节的MySQL的配置安装里,并没有用到配置文件my.ini。那在MYSQL8.0.13如何解决密码重置问题呢。我去网上搜了好多的资料都是改配置文件my.ini的,后来终于找到了一条命令:操作步骤如下:
1.打开命令窗口cmd,输入命令:net stop mysql,停止MySQL服务,然后输入命令
mysqld –skip-grant-tables
以不输入密码的方式启动MySQL服务,但是这条命令对MYSQL8.0.13,是没有任何作用的。
2..后来又在网上看到这条命令:mysqld –console –skip-grant-tables –shared-memory
操作步骤同1
打开命令窗口cmd,输入命令:net stop mysql,停止MySQL服务,然后输入命令
mysqld –console –skip-grant-tables –shared-memory
现在可以以没有密码的方式登录了,但是直接执行命令:
会报错:
ERROR 1290 (HY000): The MySQL server is running with the –skip-grant-tables option so it cannot execute this statement
mysql>

经过多次试验最终,重置密码的步骤如下
1.打开命令窗口cmd,输入命令:net stop mysql,停止MySQL服务,
2.开启跳过密码验证登录的MySQL服务
输入命令
mysqld –console –skip-grant-tables –shared-memory
3.再打开一个新的cmd,无密码登录MySQL,输入登录命令:mysql -u root -p
4. 密码置为空,命令如下:
use mysql
update user set authentication_string=” where user=’root’;

5.退出mysql,执行命令:
quit
6. 关闭以-console –skip-grant-tables –shared-memory 启动的MySQL服务,
7. 打开命令框,输入:net start mysql 启动MySQL服务。
8.步骤4密码已经置空,所以无密码状态登录MySQL,输入登录命令:mysql -u root -p
9.利用上一篇博客中更改密码的命令,成功修改密码,如下图:
ALTER USER
'root'
@
'localhost'
IDENTIFIED BY
'新密码'
;

10.验证更改后密码正确登录
输入quit,退出当前登录,输入登录命令:mysql -u root -p
输入密码,成功登录,到此,重置密码结束。
