153 lines
3.2 KiB
Markdown
153 lines
3.2 KiB
Markdown
---
|
||
title: win10安装Mysql5.7
|
||
date: 2023-04-15 18:14:38.026
|
||
updated: 2023-04-26 19:32:26.938
|
||
url: /archives/mysql57-for-win10
|
||
categories:
|
||
- 数据库
|
||
tags:
|
||
- DB
|
||
---
|
||
|
||
# win10安装Mysql5.7
|
||
|
||
> 环境:windows10 + Mysql5.7.33
|
||
|
||
## 下载Mysql安装包
|
||
|
||
下载地址:https://downloads.mysql.com/archives/community/
|
||
|
||
## 解压Mysql包
|
||
|
||
本次解压的目录是:D:\mysql-5.7.33-winx64
|
||
|
||
如果是其它路径,记一下解压路径
|
||
|
||
在目录里手动 **创建一个data文件夹** ,这个是存放数据库数据存放目录
|
||
|
||
然后 **创建一个my.ini文件** ,这个是配置文件,可以自定义配置
|
||
|
||

|
||
|
||
|
||
下面给出ini一个示例,其中basedir和datadir根据实际安装目录替换一下
|
||
|
||
```ini
|
||
[mysql]
|
||
#设置mysql客户端默认字符集
|
||
default-character-set=utf8
|
||
[mysqld]
|
||
#设置端口
|
||
port=3306
|
||
#设置mysql安装目录
|
||
basedir=D:\mysql-5.7.33-winx64
|
||
#设置数据库数据存放目录
|
||
datadir=D:\mysql-5.7.33-winx64\data
|
||
#允许最大连接数
|
||
max_connections=180
|
||
#服务端字符集
|
||
character-set-server=utf8
|
||
#创建新表时默认存储引擎
|
||
default-storage-engine=INNODB
|
||
```
|
||
|
||
|
||
|
||
## 配置环境变量
|
||
|
||
可以不配置,进入到bin目录执行命令也是可以的
|
||
|
||
`MYSQL_HOME`
|
||
|
||
`D:\mysql-5.7.33-winx64\bin`
|
||
|
||
## 安装Mysql
|
||
|
||
**需要使用管理员权限打开CMD!**
|
||
|
||
cmd.exe在C:\Windows\SysWOW64目录下,找到cmd.exe鼠标右键使用管理员权限打开cmd
|
||
|
||
**在mysql的bin目录下执行安装命令**
|
||
|
||
```sh
|
||
mysqld install
|
||
```
|
||

|
||
|
||
|
||
**执行初始化命令**
|
||
|
||
加--console目的是为了输入默认密码,后面这个密码会更改
|
||
|
||
```sh
|
||
mysqld --initialize --console
|
||
```
|
||

|
||
|
||
**启动Mysql服务**
|
||
|
||
```sh
|
||
net start mysql
|
||
```
|
||

|
||
|
||
**登录Mysql**
|
||
|
||
使用上面的默认密码登录Mysql
|
||
|
||
```
|
||
mysql -u root -p
|
||
```
|
||
|
||
**修改密码**
|
||
|
||
可以把123456替换为别的密码,注意要有单引号
|
||
|
||
```
|
||
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
|
||
```
|
||

|
||
|
||
`exit` 命令退出
|
||
|
||
**使用客户端测试连接**
|
||

|
||
|
||
## 修改root密码(忘记密码)
|
||
有一次我打开电脑后使用DOS登录Mysql报了下面这个错误
|
||
```
|
||
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
|
||
```
|
||
应该是密码有问题,但是我不清楚为什么有问题,大概率密码错误?或者我之前的密码不是这个,我记错了?
|
||
说一下我的解决办法
|
||
|
||
### 解决办法
|
||
在win系统中停止Mysql服务
|
||
|
||
打开DOS窗口,转到mysql\bin目录
|
||
|
||
输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。
|
||
```
|
||
mysqld --skip-grant-tables
|
||
```
|
||
|
||
输入mysql回车,如果成功,将出现MySQL提示符
|
||
|
||
进入数据库
|
||
```
|
||
use mysql;
|
||
```
|
||
这里要使用下面这个命令刷一下权限,不然执行修改密码的命令会提示无权限
|
||
```
|
||
flush privileges;
|
||
```
|
||
|
||
然后修改密码
|
||
```
|
||
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
|
||
```
|
||
然后重启数据库,打开新的DOS窗口使用新密码就可以登录了
|
||
|
||
|
||
|