使用国内镜像下载 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是一个免费开源的轻量级数据库客户端软件,支持访问 MySQLMariaDBSQL 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
2
C:\Windows\system32>mysqld install
Service successfully installed.

启动MySQL服务

命令:net start mysql
作用:启动MySQL服务,注意此时的 mysql 表示服务名 

1
2
3
C:\Windows\system32>net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。

修改MySQL默认字符集

在解压后的 MySQL 文件中创建名为 my.ini 的配置文件, 如下图所示:

编辑 my.ini 文件内容, 设置使用默认字符为utf8mb4, 如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
# 对本地的mysql客户端的配置
[client]
default-character-set = utf8mb4

# 对其他远程连接的mysql客户端的配置
[mysql]
default-character-set = utf8mb4

# 本地mysql服务的配置
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

连接到MySQL

在命令提示符窗口输入命令, 连接到MySQL服务器:mysql -uroot -p

1
2
3
4
5
6
7
8
9
10
11
12
13
C:\Windows\system32>mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.29 MySQL Community Server - GPL

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

查看当前使用的字符集

MySQL 提示符输入命令查看当前使用的字符集:show variables like '%character%';

1
2
3
4
5
6
7
8
9
10
11
12
13
14
mysql> show variables like '%character%';
+--------------------------+-------------------------------------------------------------------+
| Variable_name | Value |
+--------------------------+-------------------------------------------------------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8mb3 |
| character_sets_dir | C:\Users\laohoo\AppData\Local\mysql-8.0.29-winx64\share\charsets\ |
+--------------------------+-------------------------------------------------------------------+
8 rows in set, 1 warning (0.00 sec)

修改密码

之前初始化 MySQL 服务器的时候, 使用的是空密码, 如果想修改密码, 可按以下步骤操作:

  1. 查看当前数据库: show databases;
1
2
3
4
5
6
7
8
9
10
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
  1. 指定当前数据库为 mysqluse mysql;
1
2
mysql> use mysql;
Database changed
  1. 修改密码: ALTER USER 'root'@'localhost' IDENTIFIED BY 'your password';
1
2
mysql> alter user 'root'@'localhost' identified with mysql_native_password by '123456';
Query OK, 0 rows affected (0.01 sec)
  1. 刷新MySQL的系统权限相关表: FLUSH PRIVILEGES;
1
2
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)