MySQL 8.0.30 在 CentOS、Red Hat 7 上的安装指南

本文还有配套的精品资源,点击获取 menu-r.4af5f7ec.gif

简介:MySQL 8.0.30 是一款流行的开源关系型数据库管理系统,本文提供在 CentOS 和 Red Hat Enterprise Linux (RHEL) 7 上安装 MySQL 8.0.30 的详细指南。它涵盖了关键特性、安装前准备、安装步骤、安全设置、防火墙配置和后续维护。通过遵循这些步骤,你可以成功安装和配置 MySQL 8.0.30,并使用它来管理和操作数据库。

1. MySQL 8.0.30 概述

MySQL 8.0.30 新特性和优势

MySQL 8.0.30 引入了众多新特性和优势,包括:

  • 窗口函数: 支持对数据集进行分组、排序和聚合操作,增强了数据分析能力。
  • JSON 原生支持: 原生存储和处理 JSON 数据,简化了非关系型数据的管理。
  • 可观察性增强: 提供了更多性能指标和诊断工具,方便监控和故障排除。
  • 性能优化: 通过改进查询优化器、缓冲池管理和并行执行,提高了查询性能。

2. CentOS/RHEL 7 安装准备

2.1 系统要求和依赖关系

系统要求:

  • 操作系统:CentOS/RHEL 7.x
  • CPU:2 核或以上
  • 内存:2 GB 或以上
  • 磁盘空间:5 GB 或以上

依赖关系:

  • yum-utils :用于管理 Yum 仓库
  • percona-release :用于安装 Percona MySQL 仓库
  • gcc :用于编译 MySQL
  • make :用于构建 MySQL

2.2 Yum 源配置

为了安装 MySQL 8.0.30,需要添加 Percona MySQL 仓库。执行以下命令:

yum install -y yum-utils
yum-config-manager --add-repo https://repo.percona.com/yum/percona-release-latest.repo

2.3 SELinux 设置

SELinux(安全增强型 Linux)是一个安全机制,可以限制系统上的进程和用户活动。在安装 MySQL 之前,需要禁用或修改 SELinux 设置。

禁用 SELinux:

setenforce 0

修改 SELinux 设置:

chcon -t mysqld_db_t /var/lib/mysql

此命令将修改 /var/lib/mysql 目录的安全上下文,允许 MySQL 访问该目录。

3. MySQL 服务器安装

3.1 MySQL 8.0.30 RPM 包下载

下载 MySQL 8.0.30 RPM 包

从 MySQL 官方网站下载 MySQL 8.0.30 RPM 包:

wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

验证下载的 RPM 包

使用 rpm -ivh 命令验证下载的 RPM 包:

rpm -ivh mysql80-community-release-el7-1.noarch.rpm

添加 MySQL Yum 仓库

添加 MySQL Yum 仓库以获取 MySQL 8.0.30 RPM 包:

yum-config-manager --add-repo https://dev.mysql.com/yum/repo/el/8/mysql80-community.repo

3.2 MySQL 服务器安装和初始化

安装 MySQL 服务器

使用 yum 命令安装 MySQL 服务器:

yum install mysql-server

初始化 MySQL 服务器

安装完成后,使用 mysql_secure_installation 脚本初始化 MySQL 服务器:

mysql_secure_installation

设置 MySQL root 密码

在初始化过程中,将提示设置 MySQL root 密码。输入并确认密码。

删除匿名用户

建议删除匿名用户以提高安全性:

DELETE FROM mysql.user WHERE User='';

禁用远程 root 登录

为了安全起见,禁用远程 root 登录:

UPDATE mysql.user SET Host='localhost' WHERE User='root';
FLUSH PRIVILEGES;

3.3 MySQL 数据目录创建和所有权设置

创建 MySQL 数据目录

创建 MySQL 数据目录 /var/lib/mysql

mkdir /var/lib/mysql

设置 MySQL 数据目录所有权

将 MySQL 数据目录所有权设置为 mysql 用户和组:

chown -R mysql:mysql /var/lib/mysql

设置 SELinux 上下文

如果启用了 SELinux,需要设置 MySQL 数据目录的 SELinux 上下文:

chcon -Rt mysql_db_t /var/lib/mysql

4. MySQL 服务启动和配置

4.1 MySQL 服务启动和停止

启动 MySQL 服务

systemctl start mysqld

停止 MySQL 服务

systemctl stop mysqld

重启 MySQL 服务

systemctl restart mysqld

4.2 MySQL 配置文件详解

MySQL 配置文件位于 /etc/my.cnf 。该文件包含 MySQL 服务器的各种设置。

重要配置参数

| 参数 | 描述 | 默认值 | |---|---|---| | bind-address | 监听的 IP 地址 | 0.0.0.0 | | port | 监听的端口 | 3306 | | max_connections | 允许的最大连接数 | 151 | | innodb_buffer_pool_size | InnoDB 缓冲池大小 | 128MB | | innodb_log_file_size | InnoDB 日志文件大小 | 50MB |

4.3 MySQL 优化配置

提高并发连接数

max_connections = 500

增加 InnoDB 缓冲池大小

innodb_buffer_pool_size = 256MB

调整 InnoDB 日志文件大小

innodb_log_file_size = 100MB

启用慢查询日志

slow_query_log = ON
slow_query_log_file = /var/log/mysql/mysql-slow.log
long_query_time = 1

优化查询缓存

query_cache_type = 1
query_cache_size = 16MB

优化临时表

tmp_table_size = 32MB
max_heap_table_size = 32MB

启用二进制日志

log_bin = ON
binlog_format = ROW

启用 redo 日志

innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 16MB

启用性能模式

performance_schema = ON
performance_schema_instrument = %

5.1 MySQL root 密码更改

MySQL 安装后,默认的 root 用户密码为空,为了安全起见,需要立即更改 root 密码。

操作步骤

  1. 使用 mysql 命令连接到 MySQL 服务器:
mysql -u root
  1. 输入以下命令更改 root 密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
  1. 刷新权限以使更改生效:
FLUSH PRIVILEGES;

5.2 安全设置配置

为了提高 MySQL 服务器的安全性,建议进行以下安全设置配置:

操作步骤

  1. 禁用远程 root 访问:
UPDATE mysql.user SET Host = 'localhost' WHERE User = 'root';
  1. 创建新用户并授予权限:
CREATE USER '新用户'@'localhost' IDENTIFIED BY '新密码';
GRANT ALL PRIVILEGES ON *.* TO '新用户'@'localhost';
  1. 删除匿名用户:
DELETE FROM mysql.user WHERE User = '';
  1. 启用 SSL 连接:

在 MySQL 配置文件中启用 SSL 连接并配置证书。

5.3 防火墙规则配置

为了保护 MySQL 服务器免受未经授权的访问,需要配置防火墙规则允许必要的连接。

操作步骤

  1. 允许 MySQL 端口连接:
firewall-cmd --permanent --add-port=3306/tcp
  1. 重新加载防火墙规则:
firewall-cmd --reload

5.4 数据库备份和恢复

定期备份数据库对于数据安全至关重要。MySQL 提供了多种备份和恢复选项。

操作步骤

  1. 使用 mysqldump 备份数据库:
mysqldump -u root -p --all-databases > 备份文件.sql
  1. 使用 MySQL Enterprise Backup 备份数据库(如果已安装):
mysqlbackup --backup-dir=/备份目录 --user=root --password=密码
  1. 使用 XtraBackup 备份数据库(如果已安装):
innobackupex --user=root --password=密码 --backup /备份目录
  1. 使用 mysqldump 恢复数据库:
mysql -u root -p < 备份文件.sql
  1. 使用 MySQL Enterprise Backup 恢复数据库:
mysqlrestore --user=root --password=密码 /备份目录
  1. 使用 XtraBackup 恢复数据库:
innobackupex --apply-log --redo-only /备份目录

5.5 MySQL 性能监控和故障排除

监控 MySQL 性能并及时排除故障对于确保数据库的稳定运行至关重要。

操作步骤

  1. 使用 MySQLTuner 监控性能:
mysqltuner
  1. 使用 MySQL Workbench 监控性能:
MySQL Workbench -> 服务器状态
  1. 使用 MySQL 日志进行故障排除:
cat /var/log/mysqld.log
  1. 使用 MySQL 命令行工具进行故障排除:
SHOW PROCESSLIST;
SHOW FULL PROCESSLIST;
SHOW VARIABLES LIKE 'innodb%';

本文还有配套的精品资源,点击获取 menu-r.4af5f7ec.gif

简介:MySQL 8.0.30 是一款流行的开源关系型数据库管理系统,本文提供在 CentOS 和 Red Hat Enterprise Linux (RHEL) 7 上安装 MySQL 8.0.30 的详细指南。它涵盖了关键特性、安装前准备、安装步骤、安全设置、防火墙配置和后续维护。通过遵循这些步骤,你可以成功安装和配置 MySQL 8.0.30,并使用它来管理和操作数据库。

本文还有配套的精品资源,点击获取 menu-r.4af5f7ec.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值