1. 首页 > 软件安装教程 > 正文

MySQL 9.7单机安装配置 FOR RHEL/OEL9 Linux

1. 硬件要求

在RHEL/OEL9 Linux上安装MySQL 9.7的硬件要求如下:更多学习教程www.fgedu.net.cn

硬件建议:
– CPU:至少8核,推荐16核或以上
– 内存:至少32GB,推荐64GB或以上
– 磁盘空间:至少200GB,推荐500GB或以上
– 网络:万兆网络接口
– 存储:推荐使用NVMe SSD以获得最佳性能

2. 操作系统准备

在安装MySQL 9.7之前,需要对RHEL/OEL9 Linux进行以下准备:

# 1. 确保系统已安装所有最新补丁
dnf update -y

# 2. 安装必要的依赖
dnf install -y wget curl gcc gcc-c++ make cmake bison openssl-devel ncurses-devel

# 3. 关闭防火墙或开放MySQL端口
# 临时关闭防火墙
systemctl stop firewalld
# 永久关闭防火墙
systemctl disable firewalld
# 或开放3306端口
# firewall-cmd –zone=public –add-port=3306/tcp –permanent
# firewall-cmd –reload

# 4. 关闭SELinux
# 临时关闭
setenforce 0
# 永久关闭
sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/config

# 5. 创建MySQL用户和组
groupadd mysql
useradd -r -g mysql -s /bin/false mysql

3. 下载MySQL 9.7

从MySQL官网下载适合RHEL/OEL9 Linux的MySQL 9.7安装包:

# 下载地址:https://dev.mysql.com/downloads/mysql/9.7.html
# 选择Red Hat Enterprise Linux 9 / Oracle Linux 9 (x86, 64-bit), RPM Bundle
# 下载文件名示例:mysql-9.7.0-1.el9.x86_64.rpm-bundle.tar

# 下载MySQL 9.7
tar -zxvf mysql-9.7.0-1.el9.x86_64.rpm-bundle.tar

4. 安装MySQL 9.7

按照以下步骤安装MySQL 9.7:

# 1. 安装MySQL 9.7
rpm -ivh mysql-community-common-9.7.0-1.el9.x86_64.rpm
rpm -ivh mysql-community-libs-9.7.0-1.el9.x86_64.rpm
rpm -ivh mysql-community-libs-compat-9.7.0-1.el9.x86_64.rpm
rpm -ivh mysql-community-client-9.7.0-1.el9.x86_64.rpm
rpm -ivh mysql-community-server-9.7.0-1.el9.x86_64.rpm

# 2. 初始化MySQL
mysqld –initialize –user=mysql

# 3. 查看临时密码
grep ‘temporary password’ /var/log/mysqld.log

5. 配置MySQL

安装完成后,需要进行以下配置:

# 1. 编辑my.cnf配置文件
vi /etc/my.cnf

# 2. 配置示例
[mysqld]
# 基础配置
basedir=/usr/local/mysql
datadir=/var/lib/mysql
port=3306
socket=/var/lib/mysql/mysql.sock
server_id=1

# 字符集配置
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

# 性能配置
max_connections=5000
innodb_buffer_pool_size=16G
innodb_log_file_size=2G
innodb_flush_log_at_trx_commit=2
innodb_buffer_pool_instances=16
innodb_parallel_read_threads=8
innodb_io_capacity=4000
innodb_io_capacity_max=8000

# 安全配置
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

# 二进制日志配置
log-bin=mysql-bin
binlog_format=ROW
expire_logs_days=7

# 9.7新特性配置
transaction_write_set_extraction=XXHASH64
loose-group_replication_group_name=”aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa”
loose-group_replication_start_on_boot=off
loose-group_replication_local_address=”127.0.0.1:33061″
loose-group_replication_group_seeds=”127.0.0.1:33061″
loose-group_replication_bootstrap_group=off

# 内存管理
innodb_buffer_pool_chunk_size=128M
innodb_buffer_pool_dump_pct=25
innodb_buffer_pool_load_at_startup=ON
innodb_buffer_pool_dump_at_shutdown=ON

[client]
socket=/var/lib/mysql/mysql.sock
default-character-set=utf8mb4

6. 服务管理

MySQL 9.7在RHEL/OEL9 Linux上的服务管理:

# 启动MySQL服务
systemctl start mysqld

# 停止MySQL服务
systemctl stop mysqld

# 重启MySQL服务
systemctl restart mysqld

# 查看服务状态
systemctl status mysqld

# 设置开机自启
systemctl enable mysqld

7. 性能调优

针对RHEL/OEL9 Linux环境的MySQL 9.7性能调优:

性能调优建议:
– 根据服务器内存大小调整innodb_buffer_pool_size(建议为内存的50-70%)
– 调整innodb_log_file_size以提高写入性能
– 启用innodb_buffer_pool_instances以提高并发性能
– 优化查询语句,添加适当的索引
– 定期优化表结构和分析表
– 调整Linux内核参数以提高性能
– 使用NVMe SSD存储以提高I/O性能
– 启用innodb_parallel_read_threads以提高并行读取性能
– 调整innodb_io_capacity和innodb_io_capacity_max以匹配存储设备性能

# 调整Linux内核参数
vi /etc/sysctl.conf

# 添加以下参数
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 300
net.ipv4.tcp_keepalive_probes = 5
net.ipv4.tcp_keepalive_intvl = 15
vm.swappiness = 10
vm.overcommit_memory = 1

# 应用内核参数
sysctl -p

8. 备份策略

MySQL 9.7的备份策略:

# 1. 使用mysqldump进行逻辑备份
mysqldump -u root -p –all-databases –single-transaction > backup_$(date +%Y%m%d).sql

# 2. 定期备份计划
# 创建备份脚本
cat > /root/backup_mysql.sh << EOF #!/bin/bash DATE=$(date +%Y%m%d) BACKUP_DIR="/backup/mysql" mkdir -p $BACKUP_DIR mysqldump -u root -p"fgedudb123" --all-databases --single-transaction > $BACKUP_DIR/backup_$DATE.sql

gzip $BACKUP_DIR/backup_$DATE.sql

# 删除7天前的备份
find $BACKUP_DIR -name “backup_*.sql.gz” -mtime +7 -delete
EOF

# 赋予执行权限
chmod +x /root/backup_mysql.sh

# 添加到crontab,每天凌晨2点执行
crontab -e
0 2 * * * /root/backup_mysql.sh

# 3. 考虑使用MySQL Enterprise Backup进行物理备份(商业版)
# 4. 启用增量备份以减少备份时间和空间占用

9. 安全设置

MySQL 9.7的安全设置:

# 1. 运行安全加固脚本
mysql_secure_installation

# 2. 创建专用用户并授权
mysql -u root -p
CREATE USER ‘fgedu’@’localhost’ IDENTIFIED BY ‘fgedudb123’;
GRANT ALL PRIVILEGES ON *.* TO ‘fgedu’@’localhost’ WITH GRANT OPTION;
FLUSH PRIVILEGES;

# 3. 限制远程访问
# 在my.cnf中添加
bind-address=127.0.0.1

# 4. 定期更新密码
# 每90天更新一次root密码
ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘new_password’;

# 5. 启用密码策略
# 在my.cnf中添加
validate_password.policy=STRONG
validate_password.length=12

# 6. 启用审计日志
# 在my.cnf中添加
audit_log=ON
audit_log_format=JSON
audit_log_file=/var/lib/mysql/audit.log

# 7. 启用透明数据加密(TDE)
# 在my.cnf中添加
innodb_encrypt_tables=ON
innodb_encrypt_log=ON
innodb_encryption_threads=4

10. 验证安装

验证MySQL 9.7是否安装成功:

# 1. 连接MySQL
mysql -u root -p

# 2. 查看版本
mysql> SELECT VERSION();
+———–+
| VERSION() |
+———–+
| 9.7.0 |
+———–+
1 row in set (0.00 sec)

# 3. 创建测试数据库
mysql> CREATE DATABASE fgedudb;
Query OK, 1 row affected (0.00 sec)

# 4. 创建测试表
mysql> USE fgedudb;
Database changed
mysql> CREATE TABLE fgedu_users (
-> id INT PRIMARY KEY AUTO_INCREMENT,
-> name VARCHAR(50) NOT NULL,
-> age INT,
-> email VARCHAR(100),
-> created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
-> ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Query OK, 0 rows affected (0.01 sec)

# 5. 插入测试数据
mysql> INSERT INTO fgedu_users (name, age, email) VALUES (‘测试用户’, 25, ‘test@fgedu.net.cn’);
Query OK, 1 row affected (0.00 sec)

# 6. 查询测试数据
mysql> SELECT * FROM fgedu_users;
+—-+———–+—–+———————+———————+
| id | name | age | email | created_at |
+—-+———–+—–+———————+———————+
| 1 | 测试用户 | 25 | test@fgedu.net.cn | 2026-03-31 10:00:00 |
+—-+———–+—–+———————+———————+
1 row in set (0.00 sec)

# 7. 查看9.7新特性
mysql> SHOW VARIABLES LIKE ‘innodb_encrypt_tables’;
+———————-+——-+
| Variable_name | Value |
+———————-+——-+
| innodb_encrypt_tables | ON |
+———————-+——-+
1 row in set (0.00 sec)

# 8. 退出MySQL
mysql> EXIT

生产环境建议:
– 定期备份数据
– 开启二进制日志用于Point-in-Time Recovery
– 监控MySQL的运行状态
– 定期检查并优化数据库性能
– 考虑使用MySQL Enterprise Monitor进行监控(商业版)
– 定期更新MySQL到最新版本以获得安全补丁和性能改进
– 启用透明数据加密(TDE)以保护敏感数据

风哥提示:MySQL 9.7引入了许多新特性和性能改进,包括增强的安全功能和性能优化,建议在生产环境中充分测试后再部署。from:www.itpux.com

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息