当前位置:  首页>> 技术小册>> MySQL8.0入门与实践

MySQL 8.0的安装与配置

引言

MySQL 8.0 是 MySQL 数据库管理系统的一个重要版本,它带来了众多新特性和性能改进,包括但不限于更高效的索引、窗口函数、公共表表达式(CTE)、更严格的数据类型检查、默认的身份验证插件变更(从 mysql_native_passwordcaching_sha2_password),以及增强的安全性措施等。对于数据库管理员、开发人员以及任何希望学习或升级至 MySQL 8.0 的用户来说,了解其安装与配置过程是至关重要的。本章将详细指导您如何在不同操作系统上安装 MySQL 8.0,并进行基本的配置。

一、MySQL 8.0 安装前的准备

1.1 系统要求
  • 操作系统:MySQL 8.0 支持多种操作系统,包括但不限于 Windows、Linux(如 CentOS、Ubuntu)、macOS 等。
  • 内存与硬盘:根据应用场景的不同,MySQL 对硬件资源的需求也有所不同。一般而言,建议至少分配 1GB RAM 和 1GB 以上的磁盘空间给 MySQL 数据库。
  • 软件依赖:确保系统上已安装必要的软件依赖,如 C++ 编译器(对于从源代码编译安装)、libaio(Linux 系统上的异步 I/O 库)等。
1.2 选择安装方式

MySQL 8.0 提供了多种安装方式,包括:

  • 二进制分发版:直接下载编译好的二进制文件,解压后配置即可使用,适用于大多数用户。
  • 源代码编译:从 MySQL 官网下载源代码,自行编译安装,适合有特殊定制需求的用户。
  • 包管理器安装(Linux特有):通过系统的包管理器(如 apt-get、yum)安装,适用于大多数 Linux 发行版。
  • Windows 安装程序:Windows 用户可以使用官方提供的 MSI 安装包进行安装。
1.3 安全与权限规划
  • 用户账户:规划好用于运行 MySQL 服务的系统用户账户。
  • 数据目录:选择一个有足够空间且权限设置合理的目录作为 MySQL 的数据存放位置。
  • 端口配置:默认情况下,MySQL 监听 3306 端口,确保该端口未被其他服务占用。

二、MySQL 8.0 在不同操作系统上的安装

2.1 在 Linux 上安装 MySQL 8.0

以 Ubuntu 为例,使用 apt-get 进行安装:

  1. 更新软件源列表

    1. sudo apt-get update
  2. 安装 MySQL Server

    1. sudo apt-get install mysql-server

    注意:这将安装 MySQL 8.0 或最新版本(具体取决于 Ubuntu 仓库中的版本)。

  3. 安全初始化
    安装完成后,运行 mysql_secure_installation 脚本,以设置 root 密码、移除匿名用户、禁止 root 远程登录等安全加固措施。

2.2 在 Windows 上安装 MySQL 8.0
  1. 下载 MySQL 安装包:从 MySQL 官网下载适合 Windows 的 MSI 安装包。

  2. 运行安装程序:双击 MSI 文件启动安装向导,按照提示进行安装。

  3. 配置 MySQL:安装过程中,可以配置 MySQL 服务的名称、数据目录、端口号等。

  4. 安全初始化:安装完成后,通过 MySQL Workbench 或命令行工具登录 MySQL,执行相应的 SQL 命令来设置密码、创建用户等。

2.3 从源代码编译安装(以 Linux 为例)
  1. 下载 MySQL 源代码:从 MySQL 官网或 GitHub 仓库下载最新源代码。

  2. 准备编译环境:安装必要的编译工具和库,如 GCC、CMake、libaio 等。

  3. 编译与安装

    • 使用 CMake 配置编译选项。
    • 执行 make 命令进行编译。
    • 执行 sudo make install 命令安装 MySQL。
  4. 初始化数据库:使用 mysqld --initialize 命令初始化数据库。

  5. 配置服务并启动:根据编译安装的具体情况,可能需要手动配置 MySQL 服务并启动。

三、MySQL 8.0 配置

3.1 配置文件(my.cnf/my.ini)

MySQL 的配置文件名为 my.cnf(Linux)或 my.ini(Windows),位于不同的目录下,具体取决于操作系统和 MySQL 的安装方式。配置文件包含了 MySQL 服务器的运行参数,如数据目录、端口号、字符集等。

3.2 基本配置参数
  • datadir:指定数据文件的存放目录。
  • port:指定 MySQL 监听的端口号,默认为 3306。
  • character-set-servercollation-server:设置服务器默认的字符集和校对规则。
  • bind-address:指定 MySQL 服务器绑定的 IP 地址,默认为 127.0.0.1(仅监听本地连接)。
  • max_connections:设置 MySQL 服务器允许的最大连接数。
3.3 性能优化配置
  • innodb_buffer_pool_size:InnoDB 存储引擎的缓冲池大小,对性能影响极大。
  • query_cache_size:查询缓存大小,但请注意,从 MySQL 8.0 开始,查询缓存功能已被弃用。
  • sort_buffer_sizejoin_buffer_size:分别用于排序操作和连接操作的内存缓冲区大小。
3.4 安全配置
  • skip-networking:禁用网络访问,仅允许本地连接。
  • require_secure_transport:要求所有连接必须使用加密方式(SSL/TLS)。
  • userpassword(不推荐使用):在配置文件中直接设置 root 用户密码(但出于安全考虑,不推荐这样做)。

四、启动与停止 MySQL 服务

4.1 Linux 系统
  • 启动服务:使用 sudo systemctl start mysql(systemd 系统)或 sudo service mysql start(SysVinit 系统)。
  • 停止服务sudo systemctl stop mysqlsudo service mysql stop
  • 查看服务状态sudo systemctl status mysqlsudo service mysql status
4.2 Windows 系统
  • 启动服务:通过“服务”管理工具(services.msc)启动 MySQL 服务。
  • 停止服务:同样通过“服务”管理工具停止 MySQL 服务。

五、总结

本章详细介绍了 MySQL 8.0 在不同操作系统上的安装与配置过程,包括安装前的准备、具体安装步骤、配置文件的使用以及服务的启动与停止。通过本章的学习,读者应该能够独立完成 MySQL 8.0 的安装和基本配置,为后续的学习和实践打下坚实的基础。需要注意的是,随着 MySQL 版本的更新,具体的安装步骤和配置参数可能会有所变化,因此建议参考官方文档以获取最新信息。


该分类下的相关小册推荐: