ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

MySQL 26.7.0 基于 Linux 8 二进制安装部署指南

2026/8/3 11:54:01 拓冰建站 浏览量
MySQL 26.7.0 基于 Linux 8 二进制安装部署指南

📢📢📢📣📣📣
哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验
一位上进心十足的【大数据领域博主】!😜😜😜
中国DBA联盟(ACDU)成员,目前服务于工业互联网
擅长主流Oracle、MySQL、PG、高斯及GP 运维开发,备份恢复,安装迁移,性能优化、故障应急处理等。
✨ 如果有对【数据库】感兴趣的【小可爱】,欢迎关注【IT邦德】💞💞💞
❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️

文章目录

    • @[TOC](文章目录) 一、环境准备
      • 1. 操作系统确认
  • 二、关闭防火墙和 SELinux
    • 防火墙
    • SELinux
  • 三、安装依赖
  • 四、创建 MySQL 用户
  • 五、安装二进制包
  • 六、创建数据目录
  • 七、配置环境变量
  • 八、配置 my.cnf
  • 九、初始化数据库
  • 十、配置 systemd 服务
  • 十一、启动 MySQL
  • 十二、修改 root 密码
  • 十三、创建远程用户
  • 十四、验证部署
    • 查看进程
    • 查看端口
    • 登录测试
  • 十五、生产环境优化
    • 文件句柄
    • 内核参数
  • 十六、最终检查清单
  • 十七、后续生产部署建议

一、环境准备

1. 操作系统确认

cat /etc/redhat-release
uname -r

适用环境:

  • RHEL 8

  • Rocky Linux 8

  • AlmaLinux 8

  • CentOS Stream 8

安装方式:

  • 官方 Generic Binary Tarball

  • 不使用 RPM

  • 不源码编译

规划:

项目 路径


软件目录 /usr/local/mysql 数据目录 /data/mysql 端口 3306


二、关闭防火墙和 SELinux

防火墙

systemctl stop firewalld
systemctl disable firewalld

SELinux

查看:

getenforce

临时关闭:

setenforce 0

永久修改:

vim /etc/selinux/config

设置:

SELINUX=disabled


三、安装依赖

echo “[localREPO]” >> /etc/yum.repos.d/my.repo
echo “name=localhost8” >> /etc/yum.repos.d/my.repo
echo “baseurl=file:///mnt/BaseOS” >> /etc/yum.repos.d/my.repo
echo “gpgcheck=0” >> /etc/yum.repos.d/my.repo
echo “enabled=1” >> /etc/yum.repos.d/my.repo

echo “[localREPO_APP]” >> /etc/yum.repos.d/my.repo
echo “name=localhost8_app” >> /etc/yum.repos.d/my.repo
echo “baseurl=file:///mnt/AppStream” >> /etc/yum.repos.d/my.repo
echo “gpgcheck=0” >> /etc/yum.repos.d/my.repo
echo “enabled=1” >> /etc/yum.repos.d/my.repo

mount /dev/cdrom /mnt/ >/dev/null 2>&1

dnf install -y \
libaio \
numactl \
perl \
net-tools \
tar \
wget \
vim \
lsof


四、创建 MySQL 用户

groupadd mysql

useradd \
-r \
-g mysql \
-s /bin/false \
mysql


五、安装二进制包

进入软件目录:

mkdir -p /soft
cd /soft

下载 MySQL 二进制包:

wget https://dev.mysql.com/get/Downloads/MySQL-26.7/mysql-26.7.0-linux-glibc2.28-x86_64.tar.xz

解压:

tar -xf mysql-26.7.0-linux-glibc2.28-x86_64.tar.xz \
-C /usr/local

重命名:

cd /usr/local
mv mysql-26.7.0-linux-glibc2.28-x86_64 mysql


六、创建数据目录

mkdir -p /data/mysql

授权:

chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /data/mysql


七、配置环境变量

编辑:

vim /etc/profile

增加:

export MYSQL_HOME=/usr/local/mysql
export PATH=M Y S Q L _ H O M E / b i n : MYSQL\_HOME/bin:MYSQL_HOME/bin:PATH

生效:

source /etc/profile

验证:

mysql -V


八、配置 my.cnf

文件:

vim /etc/my.cnf

示例:

[mysqld]

user=mysql

port=3306

basedir=/usr/local/mysql

datadir=/data/mysql

socket=/data/mysql/mysql.sock

pid-file=/data/mysql/mysql.pid

character-set-server=utf8mb4

collation-server=utf8mb4_0900_ai_ci

# error log

log-error=/data/mysql/mysql-error.log

# slow sql

slow_query_log=ON

slow_query_log_file=/data/mysql/mysql-slow.log

long_query_time=1

# binlog

server-id=1

log-bin=/data/mysql/mysql-bin

# InnoDB

default-storage-engine=INNODB

innodb_buffer_pool_size=4G

innodb_redo_log_capacity=2G

innodb_flush_log_at_trx_commit=1

innodb_file_per_table=ON

# connection

max_connections=1000

max_connect_errors=10000

skip-name-resolve

[client]
port=3306
socket=/data/mysql/mysql.sock


九、初始化数据库

执行:

cd /usr/local/mysql

-如果初始化失败才执行
rm -rf /data/mysql/*

bin/mysqld \
–initialize \
–user=mysql \
–basedir=/usr/local/mysql \
–datadir=/data/mysql

查看临时密码:

grep password /data/mysql/mysql-error.log


十、配置 systemd 服务

创建:

vim /etc/systemd/system/mysql.service

内容:

[Unit]
Description=MySQL Server
Documentation=https://dev.mysql.com/doc/
After=network.target
After=syslog.target

[Service]

Type=notify

User=mysql
Group=mysql

# MySQL安装目录
Environment=“MYSQL_HOME=/usr/local/mysql”

ExecStart=/usr/local/mysql/bin/mysqld \
–defaults-file=/etc/my.cnf

# 优雅停止
ExecStop=/usr/local/mysql/bin/mysqladmin \
–defaults-file=/etc/my.cnf \
–socket=/data/mysql/mysql.sock \
shutdown

# 重启策略
Restart=on-failure

RestartSec=5

# 文件句柄
LimitNOFILE=65535

# 内存限制
LimitMEMLOCK=infinity

# 进程限制
TasksMax=infinity

[Install]

WantedBy=multi-user.target

刷新:

systemctl daemon-reload


十一、启动 MySQL

启动:

systemctl start mysql

查看:

systemctl status mysql

开机启动:

systemctl enable mysql


十二、修改 root 密码

登录:

mysql -uroot -p

修改:

ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘root’;

FLUSH PRIVILEGES;


十三、创建远程用户

CREATE USER ‘admin’@‘%’
IDENTIFIED BY ‘Admin@123456’;

GRANT ALL PRIVILEGES ON *.*
TO ‘admin’@‘%’
WITH GRANT OPTION;

FLUSH PRIVILEGES;


十四、验证部署

查看进程

ps -ef | grep mysqld

查看端口

ss -lntp | grep 3306

登录测试

mysql -h127.0.0.1 -uadmin -p


十五、生产环境优化

文件句柄

vim /etc/security/limits.conf

增加:

mysql soft nofile 65535
mysql hard nofile 65535

内核参数

vim /etc/sysctl.conf

增加:

vm.swappiness=10

fs.file-max=1000000

net.core.somaxconn=65535

生效:

sysctl -p


十六、最终检查清单

检查项目 命令


MySQL版本 mysql -V 服务状态 systemctl status mysql 监听端口 ss -lntp 数据目录 ls /data/mysql 远程连接 mysql -h IP


十七、后续生产部署建议

建议继续完善:

  1. MySQL 参数优化模板

  2. GTID 主从复制

  3. MGR 高可用集群

  4. XtraBackup 备份恢复

  5. 性能监控体系

  6. 慢 SQL 优化体系