---
title: 编译和安装MySQL
description: "下文描述了如何通过源码编译和安装MySQL的步骤。下文以安装MySQL 8.0.25为例，其他版本的MySQL也可参考本章节进行编译和安装。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdbs/ecosystemEnable/MySQL/kunpengmysql8017_02_0008.html
sourcePath: /source/zh/kunpengdbs/ecosystemEnable/MySQL/kunpengmysql8017_02_0008.html
indexId: 968232962f0444bead012e0cb4874262af109f4fda57b077c61a958c25f4953e73
---
# 编译和安装MySQL

下文描述了如何通过源码编译和安装MySQL的步骤。下文以安装MySQL 8.0.25为例，其他版本的MySQL也可参考本章节进行编译和安装。

如果编译安装过程失败，需要执行如下命令清理环境后，再按照该章节的步骤重新解压MySQL源码包并编译安装。```
rm -rf /home/mysql-8.0.25
```


1. 下载MySQL源码包。

  a. 下载    MySQL源码包(https://downloads.mysql.com/archives/community/)
（includes Boost Headers）。
    若服务器可以访问网络，则可以通过wget命令直接下载MySQL源码。 1 2 cd /home wget https://downloads.mysql.com/archives/get/p/23/file/mysql-boost-8.0.25.tar.gz --no-check-certificate

  b. 将mysql-boost-8.0.25.tar.gz上传至服务器“/home”目录下并解压。
    1 2 cd /home tar -zxvf mysql-boost-8.0.25.tar.gz

2. 进入“/home/mysql-8.0.25”源码文件夹，并建立一个编译目录。
  1 2 cd /home/mysql-8.0.25 mkdir build

3. 进入编译目录，配置MySQL。
  1 2 cd build cmake .. -DBUILD_CONFIG=mysql_release -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql/data -DWITH_BOOST=/home/mysql-8.0.25/boost/boost_1_73_0

  以上命令中的路径需要根据实际情况填写，关键参数的解释如表1所示。

**表1 关键参数说明**

| 参数 | 说明 |
| --- | --- |
| DBUILD\_CONFIG | 设置为mysql\_release的含义是指CMake编译参数采用MySQL官方发布release版本时的编译参数。 |
| DCMAKE\_INSTALL\_PREFIX | 用于指定软件的安装路径，本文安装路径为“/usr/local/mysql”。 文档中的安装路径仅供参考，请根据实际情况进行配置。 |
| DMYSQL\_DATADIR | 创建数据库时，数据文件存放的路径。本文安装路径为“/data/mysql/data”。 |
| DWITH\_BOOST | 解压MySQL源码包后，解压文件中boost\_1\_73\_0文件夹所在路径。例如，本文解压在“/home”目录下，则路径为“/home/mysql\-8.0.25/boost/boost\_1\_73\_0”。 |


4. 编译安装MySQL。
  1 2 make -j 96 make -j 96 install

  -j96参数充分利用多核CPU优势，加快编译速度，参数-j后数字为CPU核数，可用cat /proc/cpuinfo | grep processor | wc -l进行查看，此数值应小于等于CPU核数。

5. 查看MySQL安装目录。
  1 ls /usr/local/mysql/

  预期结果：

  1 bin docs include lib LICENSE LICENSE.router LICENSE-test man mysqlrouter-log-rotate mysql-test README README.router README-test run share support-files var

6. 查看数据库版本。
  1 /usr/local/mysql/bin/mysql --version

  预期结果：

  1 /usr/local/mysql/bin/mysql Ver 8.0.25 for Linux on aarch64 (Source distribution)
