【2千多字】详解最新版MySQL 8.0的安装过程和Workbench、MySQL命令行的配置使用

2,422 阅读6分钟

这是我参与8月更文挑战的第31天,活动详情查看:8月更文挑战

这是MySQL系列的第一篇:MySQL/MariaDB教程1:详解最新版MySQL 8.0的安装过程和Workbench、MySQL命令行的配置使用

MySQL的介绍就不多说了。目前最新版本为8.0.26

MySQL是使用C++开发的。

下面直接开始下载安装,及配置使用!

下载

打开MySQL的开发者专区dev.mysql.com,进入直接点击下图左上角的MySQL 8.0,进入下载页面。

如下,选择安装的系统平台,点击下面的进入下载安装页面

如下,进入后,可以选择在线安装包或离线安装包进行下载:

由于MySQL被Oracle收购,在下载时会有个要求使用Oracle账号登陆的界面。不过,这不是必需的,选择下面“仅开始下载”:

安装

下载完后,双击运行MySQL安装程序。

安装类型

如下,安装的第一步是选择安装的类型。

  • 开发者默认

安装MySQL服务器和开发MySQL所需的所有工具。

  • 仅服务器

只安装MySQL服务器。如果会进行MySQL服务器部署,而不开发应用,则选择此类型。

  • 仅客户端

只安装客户端,仅用于对已存在的MySQL服务器的连接管理。

  • 全部

安装MySQL服务器在内的所有组件和工具

  • 自定义

可以根据需要自定义安装的内容

此处保持默认,安装开发者类型的安装。

环境要求

下一步会对安装要求进行检查。

如下,是缺少的两个组件。可以根据需要进行安装。

由于不会用到上面的两个开发工具,因此直接点击"下一步"安装。

MySQL的组件

下面就会安装MySQL的组件,如下,点击“Execute”执行安装

  1. MySQL Server:MySQL数据库服务器,这是 MySQL 的核心组件。
  2. MySQL Workbench:管理 MySQL 的图形工具,官方免费。
  3. MySQL Shell:MySQL的命令行管理工具。除 SQL 语句,它还支持 JavaScript 和 Python 脚本,调用 MySQL API 接口。
  4. MySQL Router:在应用和数据库服务器之间,起到路由和负载均衡作用的轻量级插件。
  5. Connector/ODBC:MySQL 数据库的 ODBC 驱动程序。

ODBC —— Open DatabaseConnectivity,开放数据库互连。是微软提出的数据库访问接口标准,它的设计是数据库和技术中立的。提供了一个公共数据访问层。

ODBC需要使用RDBMS专用的驱动程序访问数据源。

其他的组件用于开发连接,以及官方文档和示例数据库。

在线安装程序包,会先下载需要的组件,下载完后,点击“下一步”,再次点击“执行”安装。

如下,等待所有的安装完成。然后点击下一步

配置

配置服务器

组件安装完后,可以配置服务器的类型(Config Type)、连接(Connectivity)、高级选项(Advanced Configuration)等。

  • 服务器类型

服务器类别分别为:开发计算机(Development Computer)、服务器计算机(Sever Computer)和专属计算机(Dedicated Computer

不同计算机类型的区别,在于,MySQL 数据库服务器会占用多大的内存

  • 开发计算机:MySQL数据库服务会占用所需最小的内存
  • 服务器计算机:假设计算机上有多个 MySQL 数据库服务器实例、其他服务器应用在运行,占用中等程度的内存。
  • 专属计算机:占用计算机的全部内存资源。

感觉这个内存分配的选项类型,和Oracle安装时的选择极为相似...

此处选择“开发计算机”。如果是生产数据库服务器,则应选择其他两项。

  • 连接方式

MySQL的连接方式分为:网络通讯协议(TCP/IP)、命名管道(Named Pipe)和共享内存(Shared Memory)。

命名管道和共享内存速度快,但只能从本机访问 MySQL 数据库服务器。

此处选择默认的TCP/IP,通过网络进行访问。

MySQL默认的 TCP/IP 访问端口是 3306;X协议端口默认是33060。MySQL的 X 插件会用到 X 协议,主要是实现类似 MongoDB 的文件存储服务。

如下,点击下一步:

身份验证配置

此处使用默认推荐的 SHA256 的新加密算法 caching_sha2_password。在相同的密码情况下,新算法也不会生成相同的加密结果,更加安全。

密码和用户权限

下面是设置ROOT用户的密码。Root是MySQL的超级用户,拥有最高权限。

还可以根据需要添加其他用户。

将MySQL配置为Windows服务

作为一个Windows服务在后台一直运行,并可以开机启动。

点击下一步,应用配置。

生产配置

生产配置主要是路由和示例数据库的配置。

Router只有在安装MySQL集群的情况下才会用的到。因此,点下一步之后,Router配置直接点“结束(Finish)”即可。

然后,再点“下一步”,配置示例数据库(主要用于学习或参考目的)。通常不必安装示例数据库

如下,选择刚安装的MySQL Server。下方输入用户密码,点击“Check”。

点击下一步,应用配置,执行(Execute)。

配置完成,如下,点击Next,并完成安装。

Workbench

Workbench 是 MySQL 自带的图形化管理工具。

从开始菜单中启动Workbench(“MySQL”下“MySQL Workbench 8.0 CE”)

启动后,可以看到左下角,默认会列出本地的MySQL连接。点击可以进入刚才安装的本地MySQL;点击“+”,可以添加新的连接。

点击打开本地连接,输入密码并进入。

如下,是Workbench的简要介绍:

比如,查询MySQL当前版本的:

SELECT @@VERSION;
select version();
show variables like '%version%';

命令行中使用MySQL

MySQL Shell

默认安装后,要想在命令行中使用MySQL,只能打开“MySQL Shell”。

MySQL Shell默认打开进入的是JS模式,如下:

通过\help\?查看更多参数

  • 通过 \sql 可以切换到SQL模式。

  • \connect\c连接到一个MySQL。

连接的语法:\connect [user[:password]@]hostname[:port],例如:\c root@localhost

完整语法为:\connect [<TYPE>] <URI><TYPE>--mc, --mysql(连接MySQL,可以省略)或--mx, --mysqlx(使用X协议连接)。

  • MySQL命令行中使用\s查看MySQL服务器的状态,包括版本、编码等。
 MySQL  localhost:33060+ ssl  SQL > \s
MySQL Shell version 8.0.26

Connection Id:                21
Default schema:
Current schema:
Current user:                 root@localhost
SSL:                          Cipher in use: TLS_AES_256_GCM_SHA384 TLSv1.3
Using delimiter:              ;
Server version:               8.0.26 MySQL Community Server - GPL
Protocol version:             X protocol
Client library:               8.0.26
Connection:                   localhost via TCP/IP
TCP port:                     33060
Server characterset:          utf8mb4
Schema characterset:          utf8mb4
Client characterset:          utf8mb4
Conn. characterset:           utf8mb4
Result characterset:          utf8mb4
Compression:                  Enabled (DEFLATE_STREAM)
Uptime:                       1 hour 26 min 45.0000 sec

\s只能用在命令行中。

全局环境下使用MySQL命令行

默认安装后,无法通过cmd或powershell等工具运行连接MySQL。

会提示 'MySQL' is not recognized... 类似的错误。

将MySQL Server路径加入PATH“环境变量”:

右键“此电脑”->“属性”->“高级系统设置”,打开“环境变量”。

如下,添加后,点击底部的“确定”,再点确定:

此时就可以,重新打开命令行工具,使用MySQL命令连接到MySQL服务器了。

如下,使用mysql -uroot -p连接登陆到root用户。

输入 exit 退出:

mysql> exit
Bye

大多数情况下,还是使用命令行比较方便。