MySQL二进制安装
1、为什么采用二进制安装
在 MySQL 安装中,选择二进制安装(Binary Installation) 是一种常见方式,尤其在 Linux 等服务器环境中被广泛使用,主要原因在于它能提供更高的灵活性、可控性和适配性,具体优势如下:
- 无需编译,直接使用
二进制安装包是预编译好的可执行文件(如 .tar.gz 格式),下载后解压即可部署,无需像源码安装那样执行 configure、make、make install 等编译步骤。
优点:节省编译时间(尤其在性能有限的服务器上,源码编译可能耗时数十分钟),避免因缺少编译依赖(如 gcc、libssl 等)导致的安装失败。 - 版本控制更灵活
二进制包允许在同一台服务器上安装多个不同版本的 MySQL(只需放在不同目录),方便测试、升级或回滚。
例如:可以同时部署 MySQL 5.7 和 MySQL 8.0,分别用于生产环境和新版本兼容性测试,而不互相干扰。 - 目录结构清晰,便于管理
二进制安装的 MySQL 目录结构完全由用户控制(通常解压到自定义路径,如 /usr/local/mysql),配置文件、数据目录、日志文件等位置可灵活指定,便于:
按服务器规范统一管理(如将数据目录放在独立分区,避免系统盘占满);
后期维护(如迁移数据、备份配置时路径明确)。 - 适配特定环境,减少依赖冲突
部分 Linux 发行版自带的 MySQL(通过 yum 或 apt 安装)可能是简化版或定制版,功能不全(如缺少某些存储引擎、插件),或与系统预装的依赖库存在冲突。
二进制包由官方编译,包含完整功能,且依赖相对独立,可避免因系统自带软件包版本过低 / 过高导致的兼容性问题。 - 适合生产环境的标准化部署
在企业级服务器集群中,二进制安装便于通过脚本实现自动化、标准化部署:
只需将解压、配置、启动等步骤写成脚本,即可在多台服务器上快速复制相同的 MySQL 环境,确保所有节点配置一致。
什么时候不适合二进制安装?
对 MySQL 有定制化需求(如修改源码、添加自定义补丁),此时必须用源码安装;
新手用户希望通过系统包管理器(如 apt、yum)一键安装,无需手动配置(但生产环境通常更倾向二进制安装)。
综上,二进制安装是平衡 “便捷性” 和 “可控性” 的优选方案,尤其适合需要灵活管理、标准化部署的服务器环境。
二、MySQL的安装部署
环境说明:
操作系统:CentOS 7.9
MySQL版本:5.7.24
- MySQL二进制包下载
(二进制包下载地址:https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz)
msyql官网:mysql官网
选择downloads,下载社区版本
“MySQL Community (GPL) Downloads” 是 MySQL 官方提供的社区版(Community Edition)下载入口,该版本基于 GPL 开源协议发布,免费供个人和企业使用,是最常用的 MySQL 版本之一。
下载旧的归档版本:Download Archives
选择MySQL Community Server
MySQL Community Server 是 MySQL 官方提供的免费开源数据库服务器版本,基于 GPL(GNU General Public License)协议发布,是全球最流行的关系型数据库管理系统(RDBMS)之一,广泛用于个人开发、中小企业生产环境以及开源项目中。
这里就可以选择自己需要的操作系统跟版本,这里我们选择5.7.24,对应的操作系统,下载即可
- 安装MySQL
解压二进制包
tar -xf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
移动到规划好的路径
mv mysql-5.7.24-linux-glibc2.12-x86_64 /application/mysql
软件部分 /application/mysql
数据部分 /data/mysql/data (手动创建)
创建MySQL用户
useradd -s /sbin/nologin mysql
添加环境变量
vim /etc/profile
添加对应的bin目录
export PATH=$PATH:/application/mysql/bin
source /etc/profile
验证
mysql -Version
授权给软件路径跟数据路径
chown -R mysql.mysql /application/*
chown -R mysql.mysql /data/
- 初始化数据
mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data
配置文件准备
vim /etc/my.cnf
[mysqld]
user=mysql
basedir=/application/mysql
datadir=/data/mysql/data
socket=/data/mysql/mysql.sock
server_id=6
port=3306[mysql]
socket=/data/mysql/mysql.sock[client]
socket=/data/mysql/mysql.sock
- mysql启动
这里使用
vim /etc/systemd/system/mysqld.service
添加下列内容
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target[Install]
WantedBy=multi-user.target[Service]
User=mysql
Group=mysql
ExecStart=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE=5000
#重启策略
Restart=on-failure
RestartPreventExitStatus=1
PrivateTmp=false
systemctl start mysqld.service
systemctl stop mysqld.service
systemctl status mysqld.service
mysql -S /data/mysql/mysql.sock
至此,MySQL基本安装完成