MySQL5.7源码安装全攻略:从零开始的数据库搭建之旅

mysql 5.7原码安装

时间:2025-06-26 06:50


MySQL5.7源码安装详解 在数据库管理领域,MySQL以其高效、灵活和开源的特点,赢得了广泛的认可和应用

    尤其是在需要进行深度定制或优化性能的场景下,源码安装MySQL成为了许多开发者和运维人员的首选

    本文将详细介绍如何在Linux环境下,通过源码安装MySQL5.7版本,并涵盖从环境准备到配置启动的全过程

     一、准备工作 在开始安装之前,确保你的系统已经满足了MySQL5.7的基本依赖要求

    我们以CentOS7和Ubuntu为例,分别介绍准备工作

     1. CentOS7环境准备 (1)检查旧版本MySQL 首先,检查系统中是否存在旧版本的MySQL或MariaDB,如果存在,需要先进行卸载

     bash rpm -qa | egrep -i mysql|mariadb 卸载命令如下: bash rpm -ev 软件包名称 (2)删除旧版本MySQL相关目录 如果存在旧版本的MySQL安装目录,也需要一并删除

     bash find / -name mysql (3)创建安装目录 为了管理方便,创建一个专门的目录用于存放MySQL软件包

     bash mkdir -p /data/mysql 2. Ubuntu环境准备 在Ubuntu环境下,需要先更新系统包列表,并安装必要的编译工具和依赖库

     bash sudo apt-get update sudo apt-get install cmake libncurses5-dev bison g++ 同样地,检查并卸载旧版本的MySQL

     bash sudo apt-get remove --purge mysql-server mysql-client mysql-common mysql-server-core- mysql-client-core- sudo apt-get autoremove sudo apt-get autoclean 二、下载和解压MySQL源码包 MySQL5.7的源码包可以从MySQL官方网站下载,下载地址如下:【MySQL5.7下载页面】(https://dev.mysql.com/downloads/mysql/)

     1. CentOS7下载和解压 在CentOS7中,可以使用wget命令下载源码包,然后进行解压

     bash cd /data/mysql wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz tar zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql-5.7.24 2. Ubuntu下载和解压 在Ubuntu中,同样可以使用wget或直接在浏览器中下载源码包,然后进行解压

     bash cd /usr/local/src wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.xx.tar.gz tar -xzvf mysql-5.7.xx.tar.gz cd mysql-5.7.xx 注意:将`mysql-5.7.xx.tar.gz`替换为你下载的具体版本号的文件名

     三、创建MySQL用户和组 在Linux系统中,为了安全起见,通常不建议使用root用户运行MySQL服务

    因此,需要创建一个专门的MySQL用户和组

     bash groupadd mysql useradd -r -s /sbin/nologin -g mysql mysql 四、编译安装MySQL 1. CentOS7编译安装 在CentOS7中,编译安装MySQL需要先进行cmake配置,然后执行make和make install命令

     (1)安装依赖包 在编译MySQL之前,需要安装一些必要的依赖包

     bash yum -y install gcc gcc-c++ ncurses ncurses-devel cmake bison bison-devel libaio (2)cmake配置 进入解压后的MySQL源码目录,执行cmake配置命令

     bash cd /data/mysql/mysql-5.7.24 cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_DATADIR=/data/mysql/mysql-5.7.24/data -DSYSCONFDIR=/etc -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306 -DWITH_BOOST=boost_1_59_0 -DDOWNLOAD_BOOST=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci 注意:这里假设你已经下载了boost库并将其解压在MySQL源码包同级目录下

    如果没有,可以在cmake命令中去掉与boost相关的参数,或者在编译前手动下载并解压boost库

     (3)编译和安装 执行make和make install命令进行编译和安装

     bash make && make install 2. Ubuntu编译安装 在Ubuntu中,编译安装MySQL的过程与CentOS7类似,但cmake配置参数可能有所不同

     (1)cmake配置 bash cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BL