MySQL 8.4.13 LTS 通用二进制包(Linux免安装版)完整教程

MySQL 8.4 通用二进制包(Linux免安装版)完整教程

适用:mysql-8.4.13-linux-glibc2.28-x86_64.tar.xz(免dpkg、免apt,解压即用,多版本共存,绿色二进制版)

⚠️ 前置要求:系统 glibc ≥ 2.28,Ubuntu22.04/24.04/26.04、新Debian、新OpenEuler 都满足;CentOS7 不支持!

⚠️ 区分:不是deb包!不需要dpkg安装,手动管理目录、数据、启停。

一、下载包

下载方式:

https://dev.mysql.com/

复制代码
文件名:mysql-8.4.13-linux-glibc2.28-x86_64.tar.xz
MD5: a9df9b2879009eb0bfdb9ece3315a3b1
  • 不要minimal精简版(工具不全)、不要test测试包、不要裸tar大包
  • 把文件传到服务器,比如放到 /tmp 目录

二、准备依赖(二进制包缺少系统库会报错)

Ubuntu 系列执行:

bash 复制代码
sudo apt update
sudo apt install libaio1 libnuma1 libssl3

libaio 是MySQL异步IO必需,缺了初始化直接失败

三、解压 + 部署目录

bash 复制代码
# 解压(-J 对应xz压缩包)
tar -Jxf mysql-8.4.13-linux-glibc2.28-x86_64.tar.xz

# 移动到固定目录,推荐 /opt,方便管理
sudo mv mysql-8.4.13-linux-glibc2.28-x86_64 /opt/mysql84

# 创建mysql系统用户(不要用root跑数据库)
sudo groupadd mysql
sudo useradd -r -g mysql mysql

# 创建数据目录(数据和程序分开,方便以后迁移、备份)
sudo mkdir -p /opt/mysql84/data
# 权限交给mysql用户
sudo chown -R mysql:mysql /opt/mysql84
sudo chmod 750 /opt/mysql84/data

四、初始化数据库(关键一步,生成临时root密码)

bash 复制代码
sudo /opt/mysql84/bin/mysqld --initialize --user=mysql --datadir=/opt/mysql84/data

✅ 正常输出末尾会打印一行:

复制代码
[Note] [MY-010454] [Server] A temporary password is generated for root@localhost: abcdefg123456

把 abcdefg123456 这个临时密码记下来!丢了只能删data目录重新初始化。

❗ 如果报错:多半是缺依赖、data目录不为空、权限不对。

五、编写my.cnf配置文件(可选,推荐)

新建 /opt/mysql84/my.cnf

ini 复制代码
[mysqld]
basedir=/opt/mysql84
datadir=/opt/mysql84/data
socket=/opt/mysql84/mysql.sock
pid-file=/opt/mysql84/mysqld.pid
log-error=/opt/mysql84/error.log

# 基础配置
port=3306
character-set-server=utf8mb4
default-collation=utf8mb4_unicode_ci
max_connections=200

[mysqld_safe]
log-error=/opt/mysql84/error.log
pid-file=/opt/mysql84/mysqld.pid

[client]
socket=/opt/mysql84/mysql.sock

赋权:

bash 复制代码
sudo chown mysql:mysql /opt/mysql84/my.cnf

六、启动、停止MySQL

方式1:前台脚本启动(测试用,关闭终端就停)

bash 复制代码
sudo /opt/mysql84/bin/mysqld_safe --defaults-file=/opt/mysql84/my.cnf --user=mysql &

末尾 & 放到后台运行

方式2:systemd托管(生产推荐,开机自启,标准方案)

新建服务文件:/etc/systemd/system/mysql84.service

ini 复制代码
[Unit]
Description=MySQL 8.4 Binary (no-install)
After=network.target

[Service]
Type=notify
User=mysql
Group=mysql
ExecStart=/opt/mysql84/bin/mysqld --defaults-file=/opt/mysql84/my.cnf
ExecStop=/opt/mysql84/bin/mysqladmin -u root -p shutdown
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

加载、启用、启动:

bash 复制代码
sudo systemctl daemon-reload
sudo systemctl start mysql84
sudo systemctl enable mysql84
# 查看状态
sudo systemctl status mysql84

停止命令:

bash 复制代码
sudo systemctl stop mysql84

七、登录 + 修改root初始密码

bash 复制代码
# 用二进制包自带的客户端登录,输入刚才的临时密码
/opt/mysql84/bin/mysql -uroot -p -S /opt/mysql84/mysql.sock

进入mysql命令行后执行,修改密码(换成你自己的):

sql 复制代码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass@123';
FLUSH PRIVILEGES;

密码需要符合MySQL默认密码策略:大小写+数字+符号

(可选)开启远程访问(开发用,公网谨慎)

sql 复制代码
CREATE USER 'root'@'%' IDENTIFIED BY 'MyNewPass@123';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

记得防火墙放行3306端口:ufw allow 3306/tcp

八、环境变量(方便直接敲mysql命令,不用写全路径)

编辑 ~/.bashrc

bash 复制代码
export PATH=/opt/mysql84/bin:$PATH

生效:

bash 复制代码
source ~/.bashrc

之后直接输入 mysql -uroot -p 就能登录。

九、卸载/迁移(免安装版优势,干净不留垃圾)

bash 复制代码
# 停止服务
sudo systemctl stop mysql84
sudo systemctl disable mysql84
sudo rm /etc/systemd/system/mysql84.service
sudo systemctl daemon-reload

# 直接删除整个目录,卸载完成
sudo rm -rf /opt/mysql84
# 可选删除mysql用户
sudo userdel mysql

不会改动系统其他包,这就是二进制免安装版的好处。

十、常见坑汇总

  1. mysqld --initialize 报错:libaio.so.1 missing → 安装 libaio1
  2. glibc version not enough → 你的系统太老,不能用这个包,换老版本mysql
  3. 忘记临时密码 → rm -rf /opt/mysql84/data 重新初始化(数据全丢)
  4. 启动成功但是连不上:检查socket路径、my.cnf、权限、selinux
  5. 不要用root用户运行mysqld,安全风险极高

十一、补充:minimal精简包区别

76M minimal包:没有 mysqlcheck、mysqldump 等常用工具,只保留核心服务,不推荐新手,适合容器镜像。

相关推荐
迷途之人不知返1 小时前
【动态库与静态库】-3-静态链接与加载
linux
代码派1 小时前
业务不停机迁移 MySQL 到 TiDB,NineData 数据增量同步实操演示
数据库·mysql·tidb·ninedata·无停机迁移·增量迁移·全量迁移
我不会起名字3221 小时前
MySQL 8.0 迁移后 SQL 变慢:执行计划里 3 类被忽略的成本差异
mysql·explain·执行计划·索引下推·成本模型
谙弆悕博士1 小时前
debian快速换源
linux·运维·windows·debian·下载·换源·网络问题
.道阻且长.2 小时前
Linux基本开发工具:编译器gcc/g++
linux·运维·服务器·职场和发展
Industio_触觉智能2 小时前
瑞芯微RK系列调试工具与量产测试手册-上|串口日志打通与JTAG兜底调试
linux·sdk·jtag·瑞芯微·调试工具·rk3576·量产调试
Decay__8 小时前
05_MySQL 常用 SQL 大全 —— 诊断、管理、优化辅助 SQL 与三大系统库速查
运维·数据库·sql·mysql·架构
HideF10 小时前
Linux
linux·服务器·网络
Ruiery12 小时前
Linux 6.6内核内存管理深度解析(十三):slab/slub 分配器
linux·运维·服务器