MySQL 8 在 Windows 下安装及使用

MySQL 8 带来了全新的体验,比如支持 NoSQL、JSON 等,拥有比 MySQL 5.7 两倍以上的性能提升。本文讲解如何在 Windows 下安装 MySQL 8,以及基本的 MySQL 用法。

下载

下载地址 https://dev.mysql.com/downloads/mysql/8.0.html

本例为:MySQL Community Server 8.0.15。

解压

解压至安装目录。

本例为:D:\DevSoftwares\mysql-8.0.15-winx64

创建 my.ini

在安装目录下创建my.ini文件 ,MySQL 安装的配置文件:

[mysqld]
# 安装目录
basedir=D:\\DevSoftwares\\mysql-8.0.15-winx64
# 数据存放目录
datadir=D:\\DevSoftwares\\mysql-8.0.15-winx64\\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

配置环境变量

MySQL 8 在 Windows 下安装及使用

MySQL 8 在 Windows 下安装及使用 

初始化安装

执行:

mysqld --defaults-file=D:\mysql-8.0.12-winx64\my.ini --initialize --console

控制台输出如下,说明安装成功:

C:\Users\Administrator>mysqld --defaults-file=D:\DevSoftwares\mysql-8.0.15-winx64\my.ini --initialize --console
2019-03-01T02:43:10.348800Z 0 [System] [MY-013169] [Server] D:\DevSoftwares\mysql-8.0.15-winx64\bin\mysqld.exe (mysqld 8.0.15) initializing of server in progress as process 12312
2019-03-01T02:43:10.350800Z 0 [Warning] [MY-013242] [Server] --character-set-server: 'utf8' is currently an alias for the character set UTF8MB3, but will be analias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to
be unambiguous.
2019-03-01T02:43:41.258800Z 5 [Note] [MY-010454] [Server] A temporary password is generated for [email protected]: Oe:iz2BQy*F1
2019-03-01T02:43:51.951800Z 0 [System] [MY-013170] [Server] D:\DevSoftwares\mysql-8.0.15-winx64\bin\mysqld.exe (mysqld 8.0.15) initializing of server has completed

其中,Oe:iz2BQy*F1 就是 root 用户的初始化密码。稍后可以做更改。

启动、关闭 MySQL server

执行mysqld就能启动 MySQL server,或者执行 mysqld --console可以看到完整的启动信息:

 C:\Users\Administrator>mysqld --console
2019-03-01T02:47:37.701800Z 0 [System] [MY-010116] [Server] D:\DevSoftwares\mysql-8.0.15-winx64\bin\mysqld.exe (mysqld 8.0.15) starting as process 14508
2019-03-01T02:47:37.706800Z 0 [Warning] [MY-013242] [Server] --character-set-server: 'utf8' is currently an alias for the character set UTF8MB3, but will be analias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to
 be unambiguous.
2019-03-01T02:47:43.851800Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2019-03-01T02:47:43.970800Z 0 [System] [MY-010931] [Server] D:\DevSoftwares\mysql-8.0.15-winx64\bin\mysqld.exe: ready for connections. Version: '8.0.15'  socket: ''  port: 3306  MySQL Community Server - GPL.
2019-03-01T02:47:44.136800Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060

关闭,可以执行 mysqladmin -u root shutdown

设置服务启动

mysqld install MySQL-8.0.15

service.msc 打开服务启动管理,打开MySQL-8.0.15服务管理启动(或可配置开机自动启动)

MySQL 8 在 Windows 下安装及使用

MySQL 8 在 Windows 下安装及使用

使用 MySQL 客户端

使用 mysql 来登录,账号为 root,密码为 Oe:iz2BQy*F1:

mysql -u root -p

 MySQL 8 在 Windows 下安装及使用

执行下面的语句来改密码。其中“123456”即为新密码。

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; 

MySQL 8 在 Windows 下安装及使用

exit命令退出之后,重新登录,密码即为123456了

客户端连接

当数据库和客户端安装成功后,我使用客户端连接接数据库时,却是登陆失败:

2059 - Authentication plugin 'caching_sha2_password' cannot be loaded: ......

MySQL 8 在 Windows 下安装及使用

原来,MySql 8.0.11 换了新的身份验证插件(caching_sha2_password), 原来的身份验证插件为(mysql_native_password)。而客户端工具Navicat Premium12 中找不到新的身份验证插件(caching_sha2_password),对此,我们将mysql用户使用的  登录密码加密规则  还原成  mysql_native_password,即可登陆成功。

具体操作:

首先使用命令行客户端工具登录数据库,密码为123456

mysql -u root -p

 从数据库的user表中查询 mysql 用户原来使用的身份验证插件

select user,host,plugin,authentication_string from user;

 MySQL 8 在 Windows 下安装及使用

将用户root使用的身份验证插件 替换为之前版本使用的 mysql_native_password ,修改成功后再次使用客户端工具 Navicat Premium12 ,如无其它意外 , 应该是可以正常连接登录了。

alter user 'root'@'localhost' identified with mysql_native_password by '123456';

 再通过客户端连接,就ok了

MySQL 8 在 Windows 下安装及使用