在 Windows 安装解压版的 MySQL 8
使用国内镜像下载 MySQL 8
可以使用华为云镜像快速下载 MySQL 8
或是其他版本, 华为云镜像下载地址:
https://repo.huaweicloud.com/mysql/Downloads/
请选择需要的版本下载, 当前使用的是的 mysql-8.0.29-winx64.zip
, 下载地址为: https://repo.huaweicloud.com/mysql/Downloads/MySQL-8.0/mysql-8.0.29-winx64.zip
下载数据库客户端 HeidiSQL
HeidiSQL
是一个免费开源的轻量级数据库客户端软件,支持访问 MySQL
、MariaDB
和 SQL Server
等多种数据库。允许浏览数据库,管理表,浏览和编辑记录,管理用户权限等等。从我自己使用的情况来看, 功能并不输给 Navicat
, HeidiSQL
是免费的, 并且自带中文界面。
下载地址:https://www.heidisql.com/download.php
建议先安装
HeidiSQL
, 因为MySQL 8
可能需要使用到Visual C++ Redistributable for Visual Studio 2015
这样的组件, 安装HeidiSQL
时会安装这个组件。
解压 MySQL
解压下载好的 MySQL
文件,我这里直接解压至当前用户
的AppData
目录下,如下图所示:
配置系统环境变量
为了让 Windows
系统可以识别我们这里后面会用到的 MySQL
命令,需要给当前系统环境变量 path
添加 MySQL命令
所在的路径: 我的电脑
-> 右键
—> 属性
—> 高级系统设置
—> 环境变量
。在系统变量的 Path
中添加MySQL目录下的 bin
文件夹所在的路径, 如下所示:
安装MySQL数据库
准备工作
使用 管理员身份
运行、打开 命令提示符
窗口, 如下图所示:
必须使用
管理员身份
运行命令提示符
或是powershell
窗口
初始化MySQL数据库
命令:mysqld --initialize-insecure
作用:初始化数据库,并设置默认 root
密码为空
重装系统后保留之前使用过的
MySQL
, 则密码不是空密码, 而是之前在旧系统中设置过的密码。
执行初始化命令出错时, 可能是因为系统当前没有安装
Visual C++ Redistributable for Visual Studio 2015
, 可以下载安装后再次进行初始化, 下载地址: https://www.microsoft.com/zh-CN/download/details.aspx?id=48145
为Windows系统安装MySQL服务
命令:mysqld install
作用:为Windows
系统安装MySQL服务
,默认服务名为:mysql
1 | C:\Windows\system32>mysqld install |
启动MySQL服务
命令:net start mysql
作用:启动MySQL
服务,注意此时的 mysql
表示服务名
1 | C:\Windows\system32>net start mysql |
特别提示:如果当前的
MySQL
不是第一次解压后安装的(例如重装系统后再次使用已有的MySQL
), 就不需要再执行后续的步骤了,MySQL
保留着之前做过的配置(包括用户名、密码) 和 以前创建好的数据库
修改MySQL默认字符集
在解压后的 MySQL
文件中创建名为 my.ini
的配置文件, 如下图所示:
编辑 my.ini
文件内容, 设置使用默认字符为utf8mb4
, 如下所示:
1 | # 对本地的mysql客户端的配置 |
连接到MySQL
在命令提示符窗口输入命令, 连接到MySQL服务器:mysql -uroot -p
1 | C:\Windows\system32>mysql -uroot -p |
查看当前使用的字符集
在 MySQL
提示符输入命令查看当前使用的字符集:show variables like '%character%';
1 | mysql> show variables like '%character%'; |
修改密码
之前初始化 MySQL
服务器的时候, 使用的是空密码
, 如果想修改密码
, 可按以下步骤操作:
- 查看当前数据库:
show databases;
1 | mysql> show databases; |
- 指定当前数据库为
mysql
:use mysql;
1 | mysql> use mysql; |
- 修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your password';
1 | mysql> alter user 'root'@'localhost' identified with mysql_native_password by '123456'; |
- 刷新MySQL的系统权限相关表:
FLUSH PRIVILEGES;
1 | mysql> flush privileges; |