本文档风哥主要介绍MySQL 8.4在Linux平台上的安装过程,包括RPM安装、源码编译安装等。风哥教程参考MySQL官方文档Installing MySQL on Linux等。更多视频教程www.fgedu.net.cn
Part01-基础概念与理论知识
1.1 MySQL Linux版本选择
MySQL 8.4在Linux平台上提供了多种安装方式,包括RPM包、DEB包和源码编译等。学习交流加群风哥微信: itpux-com
1.2 Linux系统要求
MySQL 8.4在Linux平台上的最低系统要求包括:Linux 7.0及以上版本,至少4GB内存,50GB磁盘空间。
1.3 安装前准备
在安装MySQL之前,需要确保Linux系统已安装所有必要的依赖包,并且关闭可能冲突的服务。
Part02-生产环境规划与建议
2.1 服务器规划
根据业务需求规划Linux服务器配置,包括CPU、内存、存储等。
2.2 存储规划
合理规划存储结构,包括数据目录、日志目录等,建议将数据文件和日志文件存储在不同的磁盘上。
2.3 网络规划
规划网络架构,确保MySQL服务的网络连接稳定,包括防火墙配置和端口开放。
Part03-生产环境项目实施方案
3.1 下载MySQL安装包
从MySQL官方网站下载MySQL 8.4 Linux安装包。
# wget https://dev.mysql.com/get/mysql84-community-release-el9-1.noarch.rpm
# 验证安装包完整性
# md5sum mysql84-community-release-el9-1.noarch.rpm
3.2 安装MySQL
使用RPM包安装MySQL 8.4。
# rpm -ivh mysql84-community-release-el9-1.noarch.rpm
# 安装MySQL服务器
# yum install -y mysql-community-server
# 验证安装
# rpm -qa | grep mysql
mysql-community-server-8.4.0-1.el9.x86_64
mysql-community-client-8.4.0-1.el9.x86_64
mysql-community-common-8.4.0-1.el9.x86_64
mysql-community-libs-8.4.0-1.el9.x86_64
3.3 安装后配置
安装完成后,需要进行一些必要的配置。
# systemctl start mysqld
# 设置MySQL服务开机自启
# systemctl enable mysqld
# 查看MySQL服务状态
# systemctl status mysqld
● mysqld.service – MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2026-04-01 10:00:00 CST; 1min ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Main PID: 12345 (mysqld)
Status: “Server is operational”
Tasks: 38 (limit: 32768)
Memory: 450.0M
CPU: 1.2s
CGroup: /system.slice/mysqld.service
└─12345 /usr/sbin/mysqld
# 获取初始密码
# grep ‘temporary password’ /var/log/mysqld.log
2026-04-01T02:00:00.000000Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: Xxxxxxxx
3.4 服务启动与验证
启动MySQL服务并验证安装是否成功。
# mysql -u root -p
Enter password: Xxxxxxxx
# 修改root密码
mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘Fgedu123!’;
Query OK, 0 rows affected (0.01 sec)
# 刷新权限
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
# 退出MySQL
mysql> exit
Bye
# 重新登录验证
# mysql -u root -p
Enter password: Fgedu123!
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.4.0 MySQL Community Server – GPL
Copyright (c) 2000, 2026, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
mysql>
Part04-生产案例与实战讲解
4.1 多实例部署
在Linux平台上部署多个MySQL实例。
# mkdir -p /mysql/data2
# chown -R mysql:mysql /mysql/data2
# 创建配置文件
# vi /etc/my2.cnf
[mysqld]
port=3307
basedir=/usr
datadir=/mysql/data2
socket=/var/lib/mysql/mysql2.sock
pid-file=/var/run/mysqld/mysql2.pid
server-id=2
# 初始化实例
# mysqld –defaults-file=/etc/my2.cnf –initialize-insecure –user=mysql
# 创建服务文件
# vi /usr/lib/systemd/system/mysqld2.service
[Unit]
Description=MySQL Server 2
After=network.target
[Service]
Type=forking
User=mysql
Group=mysql
ExecStart=/usr/sbin/mysqld –defaults-file=/etc/my2.cnf
ExecStop=/usr/bin/mysqladmin –defaults-file=/etc/my2.cnf shutdown
Restart=on-failure
[Install]
WantedBy=multi-user.target
# 重载系统服务
# systemctl daemon-reload
# 启动服务
# systemctl start mysqld2
# systemctl enable mysqld2
# 连接实例
# mysql -u root -P 3307 -S /var/lib/mysql/mysql2.sock -p
4.2 远程连接配置
配置MySQL允许远程连接。
# mysql -u root -p
# 创建远程用户
mysql> CREATE USER ‘fgedu’@’%’ IDENTIFIED BY ‘Fgedu123!’;
Query OK, 0 rows affected (0.01 sec)
# 授予权限
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘fgedu’@’%’ WITH GRANT OPTION;
Query OK, 0 rows affected (0.01 sec)
# 刷新权限
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
# 配置防火墙
# firewall-cmd –permanent –add-port=3306/tcp
success
# firewall-cmd –reload
success
Part05-风哥经验总结与分享
5.1 安装常见问题
在Linux平台安装MySQL时常见的问题包括:
- 依赖包缺失:确保安装了所有必要的依赖包
- 端口冲突:确保3306端口未被其他服务占用
- 权限问题:确保数据目录权限正确
- 服务启动失败:检查配置文件和日志文件
5.2 最佳实践建议
1. 选择合适的安装方式:生产环境建议使用RPM包安装,便于管理
2. 配置合理的存储路径:将数据文件和日志文件存储在不同的磁盘上
3. 设置强密码:为root用户设置复杂的密码
4. 配置防火墙:只开放必要的端口
5. 定期备份:配置定期备份策略
6. 监控服务状态:定期检查MySQL服务状态
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
