一、下载安装
1. 下载
官方下载地址:https://dev.mysql.com/downloads/file/?id=476233
2. 安装
- 将下载的安装包解压至无中文无空格的目录下,新建 my.ini 文件
- my.ini文件内容如下
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录,若报错用反斜杠
basedir=D:\Develop\mysql-8.0.11-winx64
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
-
右击我的电脑,选择“属性”, “高级系统设置”,“高级”,“环境变量”
-
点击“环境变量”,再弹出的窗口新增系统环境变量
-
配置Path
-
配置完成后使用管理员权限打开CMD窗口
-
输入 set MYSQL_HOME ,如下图所示表示配置成功
-
进入 mysql 的 bin 目录
-
执行初始化命令,将执行后显示的内容保存备份,root@localhost:后面的
>j6wfailfhVe
为初始密码
mysqld --initialize --console
C:\Windows\system32>cd D:\Develop\mysql-8.0.11-winx64\bin
C:\Windows\system32>D:
D:\Develop\mysql-8.0.11-winx64\bin>mysqld --initialize --console
2021-07-29T09:26:08.472317Z 0 [System] [MY-013169] [Server] D:\Develop\mysql-8.0.11-winx64\bin\mysqld.exe (mysqld 8.0.11) initializing of server in progress as process 20468
2021-07-29T09:26:48.865236Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: >j6wfailfhVe
2021-07-29T09:27:27.623003Z 0 [System] [MY-013170] [Server] D:\Develop\mysql-8.0.11-winx64\bin\mysqld.exe (mysqld 8.0.11) initializing of server has completed
D:\Develop\mysql-8.0.11-winx64\bin>
- 执行命令安装
mysqld --install
- 启动mysql服务
net start mysql
- 连接mysql
mysql -u root -p
,使用初始密码登录
- 执行命令修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '新的密码';
二、问题
1. 配置文件问题
- 输入密码登录后报错:
ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
- 问题原因:mysql服务没有启动,执行
net start mysql
启动服务 - 若执行后查看服务仍未启动,删除my.ini文件中的
skip-grant-tables
,重新启动服务
2. 密码问题
这个解决方案是我按大佬的文章自己写的,方便自己看,大佬的文章链接: ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO)解决办法.
- 密码输入后报错:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
- 另辟蹊径登录修改密码,首先使用管理员权限的CMD窗口执行
net stop mysql
停止服务
- 进入 mysql 的 bin 目录下,执行
mysqld -console --skip-grant-tables --shared-memory
跳过权限验证。
- 窗口不动,使用管理员权限打开第二个窗口,再次执行
net stop mysql
确保服务关闭
- 进去MySQL的bin目录下,执行
mysqld --console --skip-grant-tables --shared-memory
,如下显示
- 使用管理员权限打开打三个CMD窗口,进入mysql的bin目录下执行
mysql -u root -p
,输入密码时直接回车
- 先将密码置空,不可以直接修改密码,否则会报错
use mysql; (使用mysql数据表)
update user set authentication_string='' where user='root';(将密码置为空)
quit; (然后退出Mysql)
8. 关闭第一个cmd窗口
9. 在第二个cmd窗口先ctrl+c
,然后重启mysql服务
net stop mysql
net start mysql
10. 在mysql的bin 目录下输入mysql -u root -p
登录,输入密码时直接回车
11. 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
12. 验证新密码登录
quit
mysql -u root -p
输入新密码
完成!