Red Hat Linux下MySQL 8.4.8 LTS安装与配置指南
1. MySQL Community Server 8.4.8 LTS在Red Hat Linux下的完整安装指南
MySQL作为最流行的开源关系型数据库之一,其LTS(长期支持)版本在企业环境中备受青睐。本文将详细介绍在Red Hat Linux系统上安装MySQL Community Server 8.4.8 LTS的完整流程,包含从准备工作到验证安装的每个关键步骤。
提示:本文基于Red Hat Enterprise Linux 8/9编写,同样适用于CentOS、Rocky Linux等RHEL兼容发行版。
1.1 环境准备与依赖检查
在开始安装前,我们需要确保系统环境满足MySQL 8.4.8 LTS的要求:
# 检查系统版本 cat /etc/redhat-release # 检查内存和存储空间 free -h df -hMySQL 8.4.8 LTS对系统的最低要求:
- 内存:建议至少2GB
- 磁盘空间:至少5GB可用空间
- 操作系统:RHEL 8/9或兼容系统
1.2 下载MySQL 8.4.8 LTS安装包
官方推荐通过MySQL Yum仓库进行安装,这可以简化后续的更新管理:
# 下载MySQL Yum仓库配置 wget https://dev.mysql.com/get/mysql80-community-release-el8-6.noarch.rpm # 安装仓库配置 sudo rpm -Uvh mysql80-community-release-el8-6.noarch.rpm # 启用8.4 LTS仓库 sudo dnf config-manager --enable mysql84-community2. 安装MySQL Server核心组件
2.1 执行安装命令
通过Yum/DNF安装MySQL Server及其依赖:
sudo dnf install mysql-community-server这个命令会自动安装:
- mysql-community-server (主服务)
- mysql-community-client (客户端工具)
- mysql-community-common (共享文件)
- mysql-community-libs (核心库)
2.2 关键配置文件位置
安装完成后,需要了解几个重要配置文件的位置:
/etc/my.cnf:主配置文件/var/log/mysqld.log:错误日志/var/lib/mysql:数据目录
3. 初始配置与安全设置
3.1 启动MySQL服务
sudo systemctl start mysqld sudo systemctl enable mysqld3.2 获取临时密码
MySQL 8.4在首次启动时会生成一个临时root密码:
sudo grep 'temporary password' /var/log/mysqld.log输出类似:
2024-03-15T12:34:56.123456Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: Abc123!@#3.3 运行安全配置向导
使用mysql_secure_installation脚本进行基本安全设置:
mysql_secure_installation按照提示完成以下设置:
- 输入临时密码
- 设置新root密码(需满足复杂度要求)
- 移除匿名用户
- 禁止root远程登录
- 移除测试数据库
- 重新加载权限表
4. 验证安装与基本操作
4.1 连接MySQL服务器
mysql -u root -p输入设置的root密码后,应该能看到MySQL提示符:
mysql>4.2 执行基本SQL测试
-- 查看版本信息 SELECT VERSION(); -- 显示当前数据库 SHOW DATABASES; -- 创建测试数据库 CREATE DATABASE test_db; -- 创建用户并授权 CREATE USER 'test_user'@'localhost' IDENTIFIED BY 'StrongPass123!'; GRANT ALL PRIVILEGES ON test_db.* TO 'test_user'@'localhost'; FLUSH PRIVILEGES;5. 性能优化与关键配置
5.1 编辑my.cnf配置文件
sudo vi /etc/my.cnf建议添加的基础优化配置:
[mysqld] # 内存配置 innodb_buffer_pool_size = 1G # 建议为系统内存的50-70% innodb_log_file_size = 256M # 连接设置 max_connections = 200 thread_cache_size = 10 # 其他优化 innodb_flush_log_at_trx_commit = 1 sync_binlog = 15.2 调整系统参数
对于生产环境,还需要调整一些系统参数:
# 增加文件描述符限制 echo "mysql hard nofile 65535" | sudo tee -a /etc/security/limits.conf echo "mysql soft nofile 65535" | sudo tee -a /etc/security/limits.conf # 调整内核参数 echo "vm.swappiness = 10" | sudo tee -a /etc/sysctl.conf sudo sysctl -p6. 常见问题排查
6.1 安装失败问题
依赖冲突:如果遇到依赖问题,可以尝试:
sudo dnf remove mariadb-* sudo dnf clean all sudo dnf install mysql-community-server6.2 连接问题
错误:Can't connect to local MySQL server
检查服务状态:
sudo systemctl status mysqld查看错误日志:
sudo tail -50 /var/log/mysqld.log6.3 密码重置
如果忘记root密码,可以临时跳过权限检查:
- 停止MySQL服务:
sudo systemctl stop mysqld- 启动MySQL并跳过权限表:
sudo mysqld_safe --skip-grant-tables &- 连接MySQL并重置密码:
FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewStrongPass123!';- 重启MySQL服务:
sudo systemctl restart mysqld7. 日常管理与维护
7.1 备份与恢复
使用mysqldump进行基础备份:
# 备份单个数据库 mysqldump -u root -p test_db > test_db_backup.sql # 备份所有数据库 mysqldump -u root -p --all-databases > full_backup.sql恢复数据库:
mysql -u root -p test_db < test_db_backup.sql7.2 用户管理
创建新用户:
CREATE USER 'new_user'@'%' IDENTIFIED BY 'Password123!'; GRANT SELECT, INSERT, UPDATE ON db_name.* TO 'new_user'@'%'; FLUSH PRIVILEGES;查看用户权限:
SHOW GRANTS FOR 'new_user'@'%';8. 升级与卸载
8.1 升级MySQL版本
通过Yum仓库升级:
sudo dnf clean all sudo dnf update mysql-community-server8.2 完全卸载MySQL
如果需要完全移除MySQL:
sudo systemctl stop mysqld sudo dnf remove mysql-community-server mysql-community-client sudo rm -rf /var/lib/mysql sudo rm -rf /etc/my.cnf*在实际生产环境中,MySQL 8.4.8 LTS的稳定性表现优异。我在多个项目中采用这种安装方式,特别是在需要长期维护的企业系统中,LTS版本提供了更可靠的支持周期。配置时特别注意innodb_buffer_pool_size的设置,这对性能影响最大。另外,定期检查错误日志和慢查询日志,可以帮助提前发现潜在问题。