环境

操作系统:Windows 10 | MySQL 版本 8.0.16 | 博客记录时间:2020/3/1 16:05

安装 MySQL Community Server

进入 MySQL官网 下载最新版其他版本 ZIP Archive:

fast-use-mysql01

当前最高版本是8.0.19,我们这里拿8.0.16做演示,目前来说8系列安装都差不多

点击下载后进入到下个页面,选择 No thanks, just start my download:

fast-use-mysql02

下载完之后进行解压,这里我们把压缩包解压在 F:\mysql

管理员的身份 打开 cmd 命令行工具,切换目录并输入 mysql 如下:

1
2
3
4
cd F:\mysql\bin
mysql
// 如果输出如下,就可以开始装载服务了
ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)

如果你的系统特别干净,可能会跳出提示框提示你缺少dll文件,只要把 msvcp140.dllvcruntime140.dll 放在 系统盘的Windows\System32 文件夹下再输入 mysql 就可以了。

配置 MySQL 服务

在配置 MySQL 服务之前,我们先配置下 MySQL 的配置文件,创建名为 my.ini 的文件在 F:\mysql\ 目录下,配置内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[client]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4

[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=F:\\mysql
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
# datadir=F:\\sqldata
# 允许最大连接数
max_connections=100
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

之后我们再使用 cmd 命令行工具初始化数据库:

1
mysqld --initialize --console
  • –initialize : 初始化
  • –console : 输出在控制台

执行完成后,会输出 root 用户的初始化密码,如下:

1
2
3
....
[Note] [MY-010454] [Server] A temporary password is generated for root@localhost: g)tqN+Oia4_a
....

g)tqN+Oia4_a 就是初始化密码,之后登入会用到:

输入以下安装命令:

1
mysqld install

之后启动服务:

1
net start mysql

登入MySQL

1
mysql -h 主机名 -u 用户名 -p

参数说明:

  • -h:指定客户端要登录的 MySQL 主机名,登录本机(localhost 或 127.0.0.1)该参数可以省略;
  • -u:登录的用户名;
  • -p:告诉服务器将会使用一个密码来登录,如果所要登录的用户名密码为空, 可以忽略此选项。

登入实例如下:

1
mysql -u root -p

按 Enter 键后确认,如果MySQL正在运行则会得到如下响应:

1
Enter password:

输入刚才的密码:g)tqN+Oia4_a

1
2
3
4
5
6
7
8
9
10
11
12
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.16 MySQL Community Server - GPL

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

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>

如果输出为以上的内容说明已经可以登录 MySQL 了。

修改密码

值得一提的是MySQL 8和低版本的MySQL修改密码的方式有差别,而且密码的编码方式也有区别

1
2
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'qwe123';
Query OK, 0 rows affected (0.34 sec)

如果你使用数据库连接工具,如 Navicat Premium 连接的时候可能在当前版本得修改密码编码方式,否者会提示:

[ERROR 2059] - Authentication plugin ‘caching_sha2_password’ cannot be loaded…

修改密码编码方式如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'qwe123';
Query OK, 0 rows affected (0.12 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.04 sec)
mysql> SELECT HOST,USER,PLUGIN FROM MYSQL.USER;
+-----------+------------------+-----------------------+
| HOST | USER | PLUGIN |
+-----------+------------------+-----------------------+
| localhost | mysql.infoschema | caching_sha2_password |
| localhost | mysql.session | caching_sha2_password |
| localhost | mysql.sys | caching_sha2_password |
| localhost | root | mysql_native_password |
+-----------+------------------+-----------------------+
4 rows in set (0.00 sec)

可以看到用户为 root 的 PLUGIN 已经改成了 mysql_native_password。

到这里就一切准备就绪了!

删除 MySQL Community Server

停止服务

使用管理员身份打开 CMD ,输入net stop mysql:

1
2
3
4
5
6
net stop mysql
MySQL 服务正在停止...
MySQL 服务已成功停止。
// 如果不是管理员身份可能发生下面的情况
发生系统错误 5。
拒接访问。

删除 Windows 注册表

1
2
sc delete mysql
[SC] DeleteService 成功

删除环境变量

如果之前有配置环境变量的话,将Path里关于MySQL的环境变量删除即可

相关文档