当前位置: 首页 > news >正文

MySQL二进制安装

1、为什么采用二进制安装

在 MySQL 安装中,选择二进制安装(Binary Installation) 是一种常见方式,尤其在 Linux 等服务器环境中被广泛使用,主要原因在于它能提供更高的灵活性、可控性和适配性,具体优势如下:

  1. 无需编译,直接使用
    二进制安装包是预编译好的可执行文件(如 .tar.gz 格式),下载后解压即可部署,无需像源码安装那样执行 configure、make、make install 等编译步骤。
    优点:节省编译时间(尤其在性能有限的服务器上,源码编译可能耗时数十分钟),避免因缺少编译依赖(如 gcc、libssl 等)导致的安装失败。
  2. 版本控制更灵活
    二进制包允许在同一台服务器上安装多个不同版本的 MySQL(只需放在不同目录),方便测试、升级或回滚。
    例如:可以同时部署 MySQL 5.7 和 MySQL 8.0,分别用于生产环境和新版本兼容性测试,而不互相干扰。
  3. 目录结构清晰,便于管理
    二进制安装的 MySQL 目录结构完全由用户控制(通常解压到自定义路径,如 /usr/local/mysql),配置文件、数据目录、日志文件等位置可灵活指定,便于:
    按服务器规范统一管理(如将数据目录放在独立分区,避免系统盘占满);
    后期维护(如迁移数据、备份配置时路径明确)。
  4. 适配特定环境,减少依赖冲突
    部分 Linux 发行版自带的 MySQL(通过 yum 或 apt 安装)可能是简化版或定制版,功能不全(如缺少某些存储引擎、插件),或与系统预装的依赖库存在冲突。
    二进制包由官方编译,包含完整功能,且依赖相对独立,可避免因系统自带软件包版本过低 / 过高导致的兼容性问题。
  5. 适合生产环境的标准化部署
    在企业级服务器集群中,二进制安装便于通过脚本实现自动化、标准化部署:
    只需将解压、配置、启动等步骤写成脚本,即可在多台服务器上快速复制相同的 MySQL 环境,确保所有节点配置一致。
    什么时候不适合二进制安装?
    对 MySQL 有定制化需求(如修改源码、添加自定义补丁),此时必须用源码安装;
    新手用户希望通过系统包管理器(如 apt、yum)一键安装,无需手动配置(但生产环境通常更倾向二进制安装)。
    综上,二进制安装是平衡 “便捷性” 和 “可控性” 的优选方案,尤其适合需要灵活管理、标准化部署的服务器环境。

二、MySQL的安装部署

环境说明:
操作系统:CentOS 7.9
MySQL版本:5.7.24

  1. 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,对应的操作系统,下载即可
在这里插入图片描述

  1. 安装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/
  1. 初始化数据
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
  1. 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基本安装完成

http://www.dtcms.com/a/394730.html

相关文章:

  • 基于Java(SSH)+ Oracle 实现的(Web)视频教学平台
  • 西门子 S7-200 SMART PLC 结构化编程核心:子程序、中断程序与库概念详解
  • 树上LCA和树链剖分(未完待续)
  • 开发避坑指南(54):Mybatis plus查询指定的列
  • SQL注入可能用到的语句
  • 【论文阅读】GR00T N1:面向通用人形机器人的开放基础模型
  • 关于debian老系统安装软件失败的问题
  • ahooks:一套高质量、可靠的 React Hooks 库
  • 【一天一个Web3概念】Uniswap:去中心化金融(DeFi)的自动做市商革命
  • ROS2_YAML参数系统完整指南
  • day01电路基础
  • 贪心算法:以局部最优达成全局最优的艺术
  • Rancher学习
  • 华为认证HCIA备考:Vlan间通信,原理、三层交换机配置实验
  • 104、23种设计模式之访问者模式(13/23)
  • 什么是Mvcc
  • 如何在同一站点支持多版本的 reCAPTCHA 的兼容性方案
  • 管家预约字段修复说明
  • java面试day3 | 框架篇、Spring、SpringMVC、SpringBoot、MyBatis、注解、AOP、Bean
  • 【log4j2】log4j2插件挂载变更msg格式(工作实战,原理详解)
  • MVCC(多版本并发控制):InnoDB 高并发的核心技术
  • 决策树习题
  • PHP-ThinkPhp漏洞学习-MVC模型路由访问模版渲染安全写法版本漏洞(2024小迪安全Day31)
  • [已修复] iTunes 无法识别您的 iPhone
  • EC2 实例的操作系统 (OS) 未能成功从 AWS 的网络服务 (DHCP) 中获取到分配给它的私有 IPv4 地址
  • Vercel、Netlify、AWS 与 Cloudflare:前端部署与边缘计算平台全景对比
  • 【Threejs】【工具类】Raycaster实现 3D 交互(如鼠标拾取、碰撞检测)的核心工具
  • Fay数字人QA功能详解
  • NETSTAT命令详解
  • FFmpeg 5.x 编译 so 文件的记录