建议:内存6G以上,否则编译时可能会出错,这里设置的4C8G。
1# Rocky、Almalinux、CentOS、openEuler、AnolisOS、OpenCloudOS、 Kylin Server、UOS Server、Ubuntu、Debian
2useradd-r-s /sbin/nologin -d /data/mariadb mysql
3
4# openSUSE
5groupadd-r mysql
6useradd-s /sbin/nologin -d /data/mariadb -r-g mysql mysql1mkdir-p /data/mariadb
2
3chown mysql:mysql /data/mariadbMariaDB源码包下载,去“https://mariadb.org/”网站下载,选择“Download”。

图10 MariaDB首页
在打开的网页,在“MariaDB Server”下面选择“MariaDB Server Version为:MariaDB Server 11.8.3”,选择“Operating System为:Source”,然后选择“Mirror为:清华大学 TUNA 协会 (Tsinghua University TUNA Association)”,最后选择“Download”下载。

图11 MariaDB源码包下载
1# Rocky、Almalinux、CentOS、AnolisOS、OpenCloudOS、Kylin Server默认没有wget包,需要安装
2yum install-ywget
3
4# openEuler 22.03/24.03 LTS、AnolisOS 23、OpenCloudOS 9没有安装tar包,需要安装
5yum install-ytar
6
7cd /usr/local/srcRocky 8/9/10、Almalinux 8/9/10、CentOS Stream 8/9/10、openEuler 22.03/24.03 LTS、AnolisOS 8/23、OpenCloudOS 8/9、Kylin Server v10、UOS Server v20、openSUSE 15、Ubuntu Server 18.04/20.04/22.04/24.04 LTS、Debian 11/12/13:
1wget https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-11.8.3/source/mariadb-11.8.3.tar.gz
2tar xf mariadb-11.8.3.tar.gz
3
4# 下载fmt-11.1.4.zip
5# github官方
6https://github.com/fmtlib/fmt/releases/download/11.1.4/fmt-11.1.4.zip
7
8# github镜像站
9wget"https://gh-proxy.com/https://github.com/fmtlib/fmt/releases/download/11.1.4/fmt-11.1.4.zip"
10mkdir-p /usr/local/src/mariadb-11.8.3/extra/libfmt/src/
11mv fmt-11.1.4.zip /usr/local/src/mariadb-11.8.3/extra/libfmt/src/CentOS 7:
1wget https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-10.11.14/source/mariadb-10.11.14.tar.gz
2tar xf mariadb-10.11.14.tar.gz
3
4# fmt-11.0.2.zip
5# github官方
6wget https://github.com/fmtlib/fmt/releases/download/11.0.2/fmt-11.0.2.zip
7
8# github镜像站
9wget"https://gh-proxy.com/https://github.com/fmtlib/fmt/releases/download/11.0.2/fmt-11.0.2.zip"
10mkdir-p /usr/local/src/mariadb-10.11.14/extra/libfmt/src/
11mv fmt-11.0.2.zip /usr/local/src/mariadb-10.11.14/extra/libfmt/src/编译安装说明 :
利用cmake编译,而利用传统方法,cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台编译
编译选项:https://mariadb.com/docs/server/server-management/install-and-upgrade-mariadb/installing-mariadb/compiling-mariadb-from-source/generic-build-instructions
MariaDB cmake 一些常用的参数解释
1-DCMAKE_INSTALL_PREFIX# MariaDB 的安装目录
2-DMYSQL_DATADIR# MariaDB 数据存储路径
3-DSYSCONFDIR# 配置文件目录
4-DMYSQL_USER# MariaDB 启动的用户名称,默认为 mysql
5-DWITH_INNOBASE_STORAGE_ENGINE# 是否安装 innodb 存储引擎 - 参数:1 or 0
6-DWITH_ARCHIVE_STORAGE_ENGINE# 是否安装 archive 存储引擎 - 参数:1 or 0
7-DWITH_BLACKHOLE_STORAGE_ENGINE# 是否安装 blackhole 存储引擎 - 参数:1 or 0
8-DWITH_PARTITION_STORAGE_ENGINE# 是 MariaDB 源码编译安装时用于启用分区存储引擎的 CMake 参数,其作用是编译分区引擎到服务器中,使其支持分区功能(MariaDB 的分区引擎以插件形式构建,可通过此参数静态编译到服务器中)。
9-DWITHOUT_MROONGA_STORAGE_ENGINE# 该参数用于在编译 MariaDB 时 禁用 Mroonga 存储引擎(即不将其编译到服务器中)。
10-DWITH_DEBUG# 是 MariaDB 编译时的一个 CMake 参数,用于启用或禁用调试模式,1是启用,0是禁用
11-DWITH_READLINE# 启用 Readline 库支持,提升 MariaDB 命令行客户端的交互性,1是启用,0是禁用。
12-DWITH_SSL# 用于指定是否启用 SSL 支持,system是使用系统已安装的 OpenSSL(推荐,依赖系统包)。
13-DWITH_ZLIB# 用于指定是否启用对 zlib 压缩库 的支持,system是使用系统中已安装的 zlib 库(推荐) 。
14-DWITH_PCRE# 用于指定 是否以及如何启用 PCRE(Perl Compatible Regular Expressions)库 支持。这个库是 MariaDB 用于处理 正则表达式匹配(如 REGEXP , RLIKE , REGEXP_REPLACE 等 SQL 语法)的核心依赖。system是使用操作系统中已安装的 PCRE 库(推荐,减少重复编译)
15-DWITH_BOOST# 用来告诉 MariaDB 的构建系统 到哪里去找 Boost C++ 库。system是 让 CMake 直接去找 系统已安装的 boost-devel 包。
16-DWITH_LIBWRAP# 用于控制是否启用 libwrap(TCP Wrappers)支持,0是禁用 libwrap,不启用 TCP Wrappers 支持,避免潜在的性能影响
17-DENABLED_LOCAL_INFILE# 是否开启 load data infile 命令 - 参数:1 or 0
18-DMYSQL_UNIX_ADDR# Unix socket 文件路径
19-DDEFAULT_CHARSET# 默认字符集
20-DDEFAULT_COLLATION# 校验字符
21-DWITH_SYSTEMD# 是否 systemctl 管理 - 参数:yes or no进入mariadb包解压的目录:
1cd mariadb-11.8.3/安装cmake包:
1yum install-y cmake执行cmake:
1cmake .\
2-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
3-DMYSQL_DATADIR=/data/mariadb/ \
4-DSYSCONFDIR=/etc/ \
5-DMYSQL_USER=mysql \
6-DWITH_INNOBASE_STORAGE_ENGINE=1\
7-DWITH_ARCHIVE_STORAGE_ENGINE=1\
8-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
9-DWITH_PARTITION_STORAGE_ENGINE=1\
10-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
11-DWITH_DEBUG=0\
12-DWITH_READLINE=1\
13-DWITH_SSL=system \
14-DWITH_ZLIB=system \
15-DWITH_PCRE=system \
16-DWITH_BOOST=system \
17-DWITH_LIBWRAP=0\
18-DENABLED_LOCAL_INFILE=1\
19-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
20-DDEFAULT_CHARSET=utf8mb4 \
21-DDEFAULT_COLLATION=utf8mb4_general_ci \
22-DWITH_SYSTEMD=yes
23...
24-- The C compiler identification is unknown
25-- The CXX compiler identification is unknown
26CMake Error at CMakeLists.txt:40 (PROJECT):
27 No CMAKE_C_COMPILER could be found.
28
29 Tell CMake where to find the compiler by setting either the environment
30 variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
31 the compiler, or to the compiler name if it is in the PATH.# 提示,通过设置环境变量 “CC” 或 CMake 缓存条目CMAKE_C_COMPILER到编译器,或者如果编译器名称在 PATH,需要安装gcc。
32
33
34CMake Error at CMakeLists.txt:40 (PROJECT):
35 No CMAKE_CXX_COMPILER could be found.
36
37 Tell CMake where to find the compiler by setting either the environment
38 variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
39 to the compiler, or to the compiler name if it is in the PATH.# 提示,通过设置环境变量 “CXX” 或 CMake 缓存条目CMAKE_CXX_COMPILER完整路径添加到编译器,或者添加到编译器名称(如果它在 PATH 中),需要安装gcc-c++。
40
41
42-- Configuring incomplete, errors occurred!安装gcc和gcc-c++包:
1yum install-y gcc gcc-c++继续执行cmake:
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27CMake Error at cmake/ssl.cmake:150 (MESSAGE):
28 Cannot find appropriate system libraries for SSL. Use WITH_SSL=bundled to
29enable SSL support # 提示,找不到适当的系统库来支持SSL。使用WITH_SSL=bundled来启用SSL支持
30Call Stack (most recent call first):
31 CMakeLists.txt:425 (MYSQL_CHECK_SSL)
32
33
34-- Configuring incomplete, errors occurred!安装openssl-devel包:
1yum install-y openssl-devel继续执行cmake:
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:233 (message):
28 Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)# 提示,找不到 Curses 库。
29Call Stack (most recent call first):
30 /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:603 (_FPHSA_FAILURE_MESSAGE)
31 /usr/share/cmake/Modules/FindCurses.cmake:268 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
32 cmake/readline.cmake:55 (FIND_PACKAGE)
33 cmake/readline.cmake:188 (FIND_CURSES)
34 CMakeLists.txt:427 (MYSQL_CHECK_READLINE)
35
36
37-- Configuring incomplete, errors occurred!安装ncurses-devel包:
1yum install-y ncurses-devel继续执行cmake:
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27CMake Error at cmake/pcre.cmake:99 (MESSAGE):
28 system pcre2-8 library is not found or unusable # 提示,系统pcre2-8库找不到或不可用
29Call Stack (most recent call first):
30 CMakeLists.txt:431 (CHECK_PCRE)
31
32
33-- Configuring incomplete, errors occurred!安装pcre2-devel包:
1yum install-y pcre2-devel继续执行cmake:
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27CMake Error at cmake/systemd.cmake:77 (MESSAGE):
28 Requested WITH_SYSTEMD=yes however no dependencies installed/found
29Call Stack (most recent call first): # 请求的WITH_SYSTEMD=是,但未安装/找到依赖项调用堆栈(最近的调用优先)
30 CMakeLists.txt:434 (CHECK_SYSTEMD)
31
32
33-- Configuring incomplete, errors occurred!安装systemd-devel包:
1yum install-y systemd-devel继续执行cmake:
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27# 编译完成后会有类似如下的输出
28-- The following OPTIONAL packages have not been found:
29
30 * ZLIB
31 * LibXml2
32 * Java (required version >=1.6)
33 Required for the CONNECT_JDBC feature
34 * JNI
35 Required for the CONNECT_JDBC feature
36 * Boost (required version >=1.40.0)
37 Required for the OQGraph storage engine
38 * GSSAPI
39 * CURL
40 * BZip2
41 * LZ4 (required version >=1.6)
42 * LibLZMA
43 * LZO
44 * Snappy
45 * BISON (required version >=2.4)
46
47-- Configuring done(62.5s)
48-- Generating done(0.9s)
49-- Build files have been written to: /usr/local/src/mariadb-11.8.3执行make:
1make-j$(nproc)&&makeinstall总结编译过程:
1# 安装依赖包
2yum install-y cmake gcc gcc-c++ openssl-devel ncurses-devel pcre2-devel systemd-devel
3
4# 进入mariadb包解压的目录
5cd mariadb-11.8.3/
6
7# 执行cmake
8cmake .\
9-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
10-DMYSQL_DATADIR=/data/mariadb/ \
11-DSYSCONFDIR=/etc/ \
12-DMYSQL_USER=mysql \
13-DWITH_INNOBASE_STORAGE_ENGINE=1\
14-DWITH_ARCHIVE_STORAGE_ENGINE=1\
15-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
16-DWITH_PARTITION_STORAGE_ENGINE=1\
17-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
18-DWITH_DEBUG=0\
19-DWITH_READLINE=1\
20-DWITH_SSL=system \
21-DWITH_ZLIB=system \
22-DWITH_PCRE=system \
23-DWITH_BOOST=system \
24-DWITH_LIBWRAP=0\
25-DENABLED_LOCAL_INFILE=1\
26-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
27-DDEFAULT_CHARSET=utf8mb4 \
28-DDEFAULT_COLLATION=utf8mb4_general_ci \
29-DWITH_SYSTEMD=yes
30
31# 执行make
32make-j$(nproc)&&makeinstall进入mariadb包解压的目录:
1cd mariadb-11.8.3/安装cmake包:
1yum install-y cmake执行cmake:
1cmake .\
2-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
3-DMYSQL_DATADIR=/data/mariadb/ \
4-DSYSCONFDIR=/etc/ \
5-DMYSQL_USER=mysql \
6-DWITH_INNOBASE_STORAGE_ENGINE=1\
7-DWITH_ARCHIVE_STORAGE_ENGINE=1\
8-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
9-DWITH_PARTITION_STORAGE_ENGINE=1\
10-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
11-DWITH_DEBUG=0\
12-DWITH_READLINE=1\
13-DWITH_SSL=system \
14-DWITH_ZLIB=system \
15-DWITH_PCRE=system \
16-DWITH_BOOST=system \
17-DWITH_LIBWRAP=0\
18-DENABLED_LOCAL_INFILE=1\
19-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
20-DDEFAULT_CHARSET=utf8mb4 \
21-DDEFAULT_COLLATION=utf8mb4_general_ci \
22-DWITH_SYSTEMD=yes
23...
24-- The C compiler identification is unknown
25-- The CXX compiler identification is unknown
26CMake Error at CMakeLists.txt:40 (PROJECT):
27 No CMAKE_C_COMPILER could be found.
28
29 Tell CMake where to find the compiler by setting either the environment
30 variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
31 the compiler, or to the compiler name if it is in the PATH.# 提示,通过设置环境变量 “CC” 或 CMake 缓存条目CMAKE_C_COMPILER到编译器,或者如果编译器名称在 PATH,需要安装gcc。
32
33
34CMake Error at CMakeLists.txt:40 (PROJECT):
35 No CMAKE_CXX_COMPILER could be found.
36
37 Tell CMake where to find the compiler by setting either the environment
38 variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
39 to the compiler, or to the compiler name if it is in the PATH.# 通过设置环境变量 “CXX” 或 CMake 缓存条目CMAKE_CXX_COMPILER完整路径添加到编译器,或者添加到编译器名称(如果它在 PATH 中),需要安装gcc-c++。
40
41
42-- Configuring incomplete, errors occurred!安装gcc和gcc-c++包:
1yum install-y gcc gcc-c++继续执行cmake:
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27CMake Error at cmake/ssl.cmake:150 (MESSAGE):
28 Cannot find appropriate system libraries for SSL. Use WITH_SSL=bundled to
29enable SSL support # 提示,找不到适当的系统库来支持SSL。使用WITH_SSL=bundled来启用SSL支持
30Call Stack (most recent call first):
31 CMakeLists.txt:425 (MYSQL_CHECK_SSL)
32
33
34-- Configuring incomplete, errors occurred!安装openssl-devel包:
1yum install-y openssl-devel继续执行cmake:
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:233 (message):
28 Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)# 提示,找不到 Curses 库。
29Call Stack (most recent call first):
30 /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:603 (_FPHSA_FAILURE_MESSAGE)
31 /usr/share/cmake/Modules/FindCurses.cmake:268 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
32 cmake/readline.cmake:55 (FIND_PACKAGE)
33 cmake/readline.cmake:188 (FIND_CURSES)
34 CMakeLists.txt:427 (MYSQL_CHECK_READLINE)
35
36
37-- Configuring incomplete, errors occurred!安装ncurses-devel包:
1yum install-y ncurses-devel继续执行cmake:
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27CMake Error at cmake/systemd.cmake:77 (MESSAGE):
28 Requested WITH_SYSTEMD=yes however no dependencies installed/found
29Call Stack (most recent call first): # 请求的WITH_SYSTEMD=是,但未安装/找到依赖项调用堆栈(最近的调用优先)
30 CMakeLists.txt:434 (CHECK_SYSTEMD)
31
32
33-- Configuring incomplete, errors occurred!安装systemd-devel包:
1yum install-y systemd-devel继续执行cmake:
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27# 编译完成后会有类似如下的输出
28-- The following OPTIONAL packages have not been found:
29
30 * Python3
31 * LibXml2
32 * Java (required version >=1.6)
33 Required for the CONNECT_JDBC feature
34 * JNI
35 Required for the CONNECT_JDBC feature
36 * Boost (required version >=1.40.0)
37 Required for the OQGraph storage engine
38 * CURL
39 * BZip2
40 * LZ4 (required version >=1.6)
41 * LibLZMA
42 * LZO
43 * Snappy
44 * BISON (required version >=2.4)
45
46-- Configuring done(54.7s)
47-- Generating done(0.8s)
48-- Build files have been written to: /usr/local/src/mariadb-11.8.3执行make:
1make-j$(nproc)&&makeinstall总结编译过程:
1# 安装依赖包
2yum install-y cmake gcc gcc-c++ openssl-devel ncurses-devel systemd-devel
3
4# 进入mariadb包解压的目录
5cd mariadb-11.8.3/
6
7# 执行cmake
8cmake .\
9-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
10-DMYSQL_DATADIR=/data/mariadb/ \
11-DSYSCONFDIR=/etc/ \
12-DMYSQL_USER=mysql \
13-DWITH_INNOBASE_STORAGE_ENGINE=1\
14-DWITH_ARCHIVE_STORAGE_ENGINE=1\
15-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
16-DWITH_PARTITION_STORAGE_ENGINE=1\
17-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
18-DWITH_DEBUG=0\
19-DWITH_READLINE=1\
20-DWITH_SSL=system \
21-DWITH_ZLIB=system \
22-DWITH_PCRE=system \
23-DWITH_BOOST=system \
24-DWITH_LIBWRAP=0\
25-DENABLED_LOCAL_INFILE=1\
26-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
27-DDEFAULT_CHARSET=utf8mb4 \
28-DDEFAULT_COLLATION=utf8mb4_general_ci \
29-DWITH_SYSTEMD=yes
30
31# 执行make
32make-j$(nproc)&&makeinstall进入mariadb包解压的目录:
1cd mariadb-11.8.3/安装cmake包:
1yum install-y cmake执行cmake:
1cmake .\
2-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
3-DMYSQL_DATADIR=/data/mariadb/ \
4-DSYSCONFDIR=/etc/ \
5-DMYSQL_USER=mysql \
6-DWITH_INNOBASE_STORAGE_ENGINE=1\
7-DWITH_ARCHIVE_STORAGE_ENGINE=1\
8-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
9-DWITH_PARTITION_STORAGE_ENGINE=1\
10-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
11-DWITH_DEBUG=0\
12-DWITH_READLINE=1\
13-DWITH_SSL=system \
14-DWITH_ZLIB=system \
15-DWITH_PCRE=system \
16-DWITH_BOOST=system \
17-DWITH_LIBWRAP=0\
18-DENABLED_LOCAL_INFILE=1\
19-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
20-DDEFAULT_CHARSET=utf8mb4 \
21-DDEFAULT_COLLATION=utf8mb4_general_ci \
22-DWITH_SYSTEMD=yes
23...
24CMake Error at cmake/ssl.cmake:150 (MESSAGE):
25 Cannot find appropriate system libraries for SSL. Use WITH_SSL=bundled to
26enable SSL support # 提示,找不到适当的系统库来支持SSL。使用WITH_SSL=bundled来启用SSL支持
27Call Stack (most recent call first):
28 CMakeLists.txt:425 (MYSQL_CHECK_SSL)
29
30
31-- Configuring incomplete, errors occurred!安装openssl-devel包:
1yum install-y openssl-devel继续执行cmake:
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:233 (message):
28 Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)# 提示,找不到 Curses 库。
29Call Stack (most recent call first):
30 /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:603 (_FPHSA_FAILURE_MESSAGE)
31 /usr/share/cmake/Modules/FindCurses.cmake:268 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
32 cmake/readline.cmake:55 (FIND_PACKAGE)
33 cmake/readline.cmake:188 (FIND_CURSES)
34 CMakeLists.txt:427 (MYSQL_CHECK_READLINE)
35
36
37-- Configuring incomplete, errors occurred!安装ncurses-devel:
1yum install-y ncurses-devel继续执行cmake:
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27CMake Error at cmake/pcre.cmake:99 (MESSAGE):
28 system pcre2-8 library is not found or unusable # 提示,系统pcre2-8库找不到或不可用
29Call Stack (most recent call first):
30 CMakeLists.txt:431 (CHECK_PCRE)
31
32
33-- Configuring incomplete, errors occurred!安装pcre2-devel包:
1yum install-y pcre2-devel继续执行cmake:
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27CMake Error at cmake/systemd.cmake:77 (MESSAGE):
28 Requested WITH_SYSTEMD=yes however no dependencies installed/found
29Call Stack (most recent call first): # 请求的WITH_SYSTEMD=是,但未安装/找到依赖项调用堆栈(最近的调用优先)
30 CMakeLists.txt:434 (CHECK_SYSTEMD)
31
32
33-- Configuring incomplete, errors occurred!安装systemd-devel包:
1yum install-y systemd-devel继续执行cmake:
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27# 编译完成后会有类似如下的输出
28-- The following OPTIONAL packages have not been found:
29
30 * ZLIB
31 * LibXml2
32 * Java (required version >=1.6)
33 Required for the CONNECT_JDBC feature
34 * JNI
35 Required for the CONNECT_JDBC feature
36 * Boost (required version >=1.40.0)
37 Required for the OQGraph storage engine
38 * GSSAPI
39 * CURL
40 * BZip2
41 * LZ4 (required version >=1.6)
42 * LibLZMA
43 * LZO
44 * Snappy
45 * BISON (required version >=2.4)
46
47-- Configuring done(75.9s)
48-- Generating done(1.0s)
49-- Build files have been written to: /usr/local/src/mariadb-11.8.3执行make:
1make-j$(nproc)&&makeinstall总结编译过程:
1# 安装依赖包
2yum install-y cmake openssl-devel ncurses-devel pcre2-devel systemd-devel
3
4# 进入mariadb包解压的目录
5cd mariadb-11.8.3/
6
7# 执行cmake
8cmake .\
9-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
10-DMYSQL_DATADIR=/data/mariadb/ \
11-DSYSCONFDIR=/etc/ \
12-DMYSQL_USER=mysql \
13-DWITH_INNOBASE_STORAGE_ENGINE=1\
14-DWITH_ARCHIVE_STORAGE_ENGINE=1\
15-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
16-DWITH_PARTITION_STORAGE_ENGINE=1\
17-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
18-DWITH_DEBUG=0\
19-DWITH_READLINE=1\
20-DWITH_SSL=system \
21-DWITH_ZLIB=system \
22-DWITH_PCRE=system \
23-DWITH_BOOST=system \
24-DWITH_LIBWRAP=0\
25-DENABLED_LOCAL_INFILE=1\
26-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
27-DDEFAULT_CHARSET=utf8mb4 \
28-DDEFAULT_COLLATION=utf8mb4_general_ci \
29-DWITH_SYSTEMD=yes
30
31# 执行make
32make-j$(nproc)&&makeinstall进入mariadb包解压的目录:
1cd mariadb-10.11.14/安装cmake包:
1yum install-y cmake执行cmake:
1cmake .\
2-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
3-DMYSQL_DATADIR=/data/mariadb/ \
4-DSYSCONFDIR=/etc/ \
5-DMYSQL_USER=mysql \
6-DWITH_INNOBASE_STORAGE_ENGINE=1\
7-DWITH_ARCHIVE_STORAGE_ENGINE=1\
8-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
9-DWITH_PARTITION_STORAGE_ENGINE=1\
10-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
11-DWITH_DEBUG=0\
12-DWITH_READLINE=1\
13-DWITH_SSL=system \
14-DWITH_ZLIB=system \
15-DWITH_PCRE=system \
16-DWITH_BOOST=system \
17-DWITH_LIBWRAP=0\
18-DENABLED_LOCAL_INFILE=1\
19-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
20-DDEFAULT_CHARSET=utf8mb4 \
21-DDEFAULT_COLLATION=utf8mb4_general_ci \
22-DWITH_SYSTEMD=yes
23...
24-- The C compiler identification is unknown
25-- The CXX compiler identification is unknown
26CMake Error: your C compiler: "CMAKE_C_COMPILER-NOTFOUND" was not found. Please set CMAKE_C_COMPILER to a valid compiler path or name. # 提示,CMake错误:找不到C编译器:“CMake_C_compiler-NOTFOUND”。请将CMAKE_C_COMPILER设置为有效的编译器路径或名称,需要安装gcc。
27CMake Error: your CXX compiler: "CMAKE_CXX_COMPILER-NOTFOUND" was not found. Please set CMAKE_CXX_COMPILER to a valid compiler path or name. # CMake错误:找不到CXX编译器:“CMake_CXX_compiler-NOTFOUND”。请将CMAKE_CXX_COMPILER设置为有效的编译器路径或名称,需要安装gcc-c++。安装gcc和gcc-c++包:
1yum install-y gcc gcc-c++继续执行cmake:
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27CMake Error at cmake/ssl.cmake:150 (MESSAGE):
28 Cannot find appropriate system libraries for SSL. Use WITH_SSL=bundled to
29enable SSL support # 提示,找不到适当的系统库来支持SSL。使用WITH_SSL=bundled来启用SSL支持
30Call Stack (most recent call first):
31 CMakeLists.txt:425 (MYSQL_CHECK_SSL)
32
33
34-- Configuring incomplete, errors occurred!
35See also "/usr/local/src/mariadb-10.11.14/CMakeFiles/CMakeOutput.log".
36See also "/usr/local/src/mariadb-10.11.14/CMakeFiles/CMakeError.log".安装openssl-devel包:
1yum install-y openssl-devel继续执行cmake:
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:108 (message):
28 Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)# 提示,找不到 Curses 库。
29Call Stack (most recent call first):
30 /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:315 (_FPHSA_FAILURE_MESSAGE)
31 /usr/share/cmake/Modules/FindCurses.cmake:159 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
32 cmake/readline.cmake:55 (FIND_PACKAGE)
33 cmake/readline.cmake:188 (FIND_CURSES)
34 CMakeLists.txt:427 (MYSQL_CHECK_READLINE)
35
36
37-- Configuring incomplete, errors occurred!
38See also "/usr/local/src/mariadb-10.11.14/CMakeFiles/CMakeOutput.log".
39See also "/usr/local/src/mariadb-10.11.14/CMakeFiles/CMakeError.log".安装ncurses-devel:
1yum install-y ncurses-devel继续执行cmake:
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27CMake Error at cmake/pcre.cmake:99 (MESSAGE):
28 system pcre2-8 library is not found or unusable # 提示,系统pcre2-8库找不到或不可用
29Call Stack (most recent call first):
30 CMakeLists.txt:431 (CHECK_PCRE)
31
32
33-- Configuring incomplete, errors occurred!
34See also "/usr/local/src/mariadb-10.11.14/CMakeFiles/CMakeOutput.log".
35See also "/usr/local/src/mariadb-10.11.14/CMakeFiles/CMakeError.log".安装pcre2包:
1yum install-y pcre2-devel继续执行cmake:
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27CMake Error at tpool/CMakeLists.txt:18 (TARGET_SOURCES):
28 Unknown CMake command"TARGET_SOURCES".
29
30
31-- Configuring incomplete, errors occurred!
32See also "/usr/local/src/mariadb-10.11.14/CMakeFiles/CMakeOutput.log".
33See also "/usr/local/src/mariadb-10.11.14/CMakeFiles/CMakeError.log".安装cmake:
去“https://cmake.org/download/”网址下载cmake二进制包,如图12所示。

图12 下载cmake二进制包
# 卸载cmake
2yum remove -y cmake
3
4cd..
5
6# github下载地址:
7wget https://github.com/Kitware/CMake/releases/download/v3.31.7/cmake-3.31.7-linux-x86_64.tar.gz
8
9# 国内下载地址:
10wget https://cmake.org/files/v3.31/cmake-3.31.7-linux-x86_64.tar.gz
11tar xf cmake-3.31.7-linux-x86_64.tar.gz -C /usr/local/
12ln-s /usr/local/cmake-3.31.7-linux-x86_64/bin/cmake /usr/bin/
13
14[root@centos7 src]# cmake --version
15cmake version 3.31.7
16
17CMake suite maintained and supported by Kitware (kitware.com/cmake).再次进入mariadb包解压的目录:
1cd mariadb-10.11.14/继续执行cmake:
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27CMake Error at cmake/systemd.cmake:77 (MESSAGE):
28 Requested WITH_SYSTEMD=yes however no dependencies installed/found
29Call Stack (most recent call first): # 提示,请求的WITH_SYSTEMD=是,但未安装/找到依赖项调用堆栈(最近的调用优先)
30 CMakeLists.txt:434 (CHECK_SYSTEMD)
31
32
33-- Configuring incomplete, errors occurred!安装systemd-devel包:
1yum install-y systemd-devel继续执行cmake:
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27# 编译完成后会有类似如下的输出
28-- The following OPTIONAL packages have not been found:
29
30 * Git
31 * LibXml2
32 * Java (required version >=1.6)
33 Required for the CONNECT_JDBC feature
34 * JNI
35 Required for the CONNECT_JDBC feature
36 * Boost (required version >=1.40.0)
37 Required for the OQGraph storage engine
38 * CURL
39 * BZip2
40 * LZ4 (required version >=1.6)
41 * LibLZMA
42 * LZO
43 * Snappy
44 * BISON (required version >=2.4)
45
46-- Configuring done(26.8s)
47-- Generating done(0.8s)
48-- Build files have been written to: /usr/local/src/mariadb-10.11.14执行make:
1make-j$(nproc)&&makeinstall总结编译过程:
1# 安装依赖包
2yum install-y gcc gcc-c++ openssl-devel ncurses-devel pcre2-devel systemd-devel
3
4# 安装cmake
5wget https://cmake.org/files/v3.31/cmake-3.31.7-linux-x86_64.tar.gz
6tar xf cmake-3.31.7-linux-x86_64.tar.gz -C /usr/local/
7ln-s /usr/local/cmake-3.31.7-linux-x86_64/bin/cmake /usr/bin/
8
9# 进入mariadb包解压的目录
10cd mariadb-10.11.14/
11
12# 执行cmake
13cmake .\
14-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
15-DMYSQL_DATADIR=/data/mariadb/ \
16-DSYSCONFDIR=/etc/ \
17-DMYSQL_USER=mysql \
18-DWITH_INNOBASE_STORAGE_ENGINE=1\
19-DWITH_ARCHIVE_STORAGE_ENGINE=1\
20-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
21-DWITH_PARTITION_STORAGE_ENGINE=1\
22-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
23-DWITH_DEBUG=0\
24-DWITH_READLINE=1\
25-DWITH_SSL=system \
26-DWITH_ZLIB=system \
27-DWITH_PCRE=system \
28-DWITH_BOOST=system \
29-DWITH_LIBWRAP=0\
30-DENABLED_LOCAL_INFILE=1\
31-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
32-DDEFAULT_CHARSET=utf8mb4 \
33-DDEFAULT_COLLATION=utf8mb4_general_ci \
34-DWITH_SYSTEMD=yes
35
36# 执行make
37make-j$(nproc)&&makeinstall进入mariadb包解压的目录:
1cd mariadb-11.8.3/安装cmake包:
1yum install-y cmake执行cmake:
1cmake .\
2-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
3-DMYSQL_DATADIR=/data/mariadb/ \
4-DSYSCONFDIR=/etc/ \
5-DMYSQL_USER=mysql \
6-DWITH_INNOBASE_STORAGE_ENGINE=1\
7-DWITH_ARCHIVE_STORAGE_ENGINE=1\
8-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
9-DWITH_PARTITION_STORAGE_ENGINE=1\
10-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
11-DWITH_DEBUG=0\
12-DWITH_READLINE=1\
13-DWITH_SSL=system \
14-DWITH_ZLIB=system \
15-DWITH_PCRE=system \
16-DWITH_BOOST=system \
17-DWITH_LIBWRAP=0\
18-DENABLED_LOCAL_INFILE=1\
19-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
20-DDEFAULT_CHARSET=utf8mb4 \
21-DDEFAULT_COLLATION=utf8mb4_general_ci \
22-DWITH_SYSTEMD=yes
23...
24CMake Error: CMake was unable to find a build program corresponding to "Unix Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. # 提示,CMake找不到与“Unix Makefiles”对应的构建程序。未设置CMAKE_MAKE_PROGRAM。您可能需要选择不同的构建工具,需要安装make。
25CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage # 提示,CMake错误:启用语言后未设置CMake_C_COMPILER,需要安装gcc。
26CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage # 提示,CMake错误:启用语言后未设置CMake_CXX_COMPILER,,需要安装gcc-c++。
27-- Configuring incomplete, errors occurred!安装gcc和gcc-c++包:
1yum install-ymake gcc gcc-c++继续执行cmake:
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27CMake Error at cmake/ssl.cmake:150 (MESSAGE):
28 Cannot find appropriate system libraries for SSL. Use WITH_SSL=bundled to
29enable SSL support # 提示,找不到适当的系统库来支持SSL。使用WITH_SSL=bundled来启用SSL支持
30Call Stack (most recent call first):
31 CMakeLists.txt:425 (MYSQL_CHECK_SSL)
32
33
34-- Configuring incomplete, errors occurred!安装openssl-devel包:
1yum install-y openssl-devel继续执行cmake:
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:233 (message):
28 Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)# 提示,找不到 Curses 库。
29Call Stack (most recent call first):
30 /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:603 (_FPHSA_FAILURE_MESSAGE)
31 /usr/share/cmake/Modules/FindCurses.cmake:268 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
32 cmake/readline.cmake:55 (FIND_PACKAGE)
33 cmake/readline.cmake:188 (FIND_CURSES)
34 CMakeLists.txt:427 (MYSQL_CHECK_READLINE)
35
36
37-- Configuring incomplete, errors occurred!安装ncurses-devel:
1yum install-y ncurses-devel继续执行cmake:
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27CMake Error at cmake/pcre.cmake:99 (MESSAGE):
28 system pcre2-8 library is not found or unusable # 提示,系统pcre2-8库找不到或不可用
29Call Stack (most recent call first):
30 CMakeLists.txt:431 (CHECK_PCRE)
31
32
33-- Configuring incomplete, errors occurred!安装pcre2包:
1yum install-y pcre2-devel继续执行cmake:
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27CMake Error at cmake/systemd.cmake:77 (MESSAGE):
28 Requested WITH_SYSTEMD=yes however no dependencies installed/found
29Call Stack (most recent call first): # 请求的WITH_SYSTEMD=是,但未安装/找到依赖项调用堆栈(最近的调用优先)
30 CMakeLists.txt:434 (CHECK_SYSTEMD)
31
32
33-- Configuring incomplete, errors occurred!安装systemd-devel包:
1yum install-y systemd-devel继续执行cmake:
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
6-DMYSQL_DATADIR=/data/mariadb/ \
7-DSYSCONFDIR=/etc/ \
8-DMYSQL_USER=mysql \
9-DWITH_INNOBASE_STORAGE_ENGINE=1\
10-DWITH_ARCHIVE_STORAGE_ENGINE=1\
11-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
12-DWITH_PARTITION_STORAGE_ENGINE=1\
13-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
14-DWITH_DEBUG=0\
15-DWITH_READLINE=1\
16-DWITH_SSL=system \
17-DWITH_ZLIB=system \
18-DWITH_PCRE=system \
19-DWITH_BOOST=system \
20-DWITH_LIBWRAP=0\
21-DENABLED_LOCAL_INFILE=1\
22-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
23-DDEFAULT_CHARSET=utf8mb4 \
24-DDEFAULT_COLLATION=utf8mb4_general_ci \
25-DWITH_SYSTEMD=yes
26...
27# 编译完成后会有类似如下的输出
28-- The following OPTIONAL packages have not been found:
29
30 * ZLIB
31 * LibXml2
32 * Java (required version >=1.6)
33 Required for the CONNECT_JDBC feature
34 * JNI
35 Required for the CONNECT_JDBC feature
36 * Boost (required version >=1.40.0)
37 Required for the OQGraph storage engine
38 * GSSAPI
39 * CURL
40 * BZip2
41 * LZ4 (required version >=1.6)
42 * LibLZMA
43 * LZO
44 * Snappy
45 * BISON (required version >=2.4)
46
47-- Configuring done(70.7s)
48-- Generating done(0.7s)
49-- Build files have been written to: /usr/local/src/mariadb-11.8.3执行make:
1make-j$(nproc)&&makeinstall总结编译过程:
1# 安装依赖包
2yum install-y cmake make gcc gcc-c++ openssl-devel ncurses-devel pcre2-devel systemd-devel
3
4# 进入mariadb包解压的目录
5cd mariadb-11.8.3/
6
7# 执行cmake
8cmake .\
9-DCMAKE_INSTALL_PREFIX=/apps/mariadb \
10-DMYSQL_DATADIR=/data/mariadb/ \
11-DSYSCONFDIR=/etc/ \
12-DMYSQL_USER=mysql \
13-DWITH_INNOBASE_STORAGE_ENGINE=1\
14-DWITH_ARCHIVE_STORAGE_ENGINE=1\
15-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
16-DWITH_PARTITION_STORAGE_ENGINE=1\
17-DWITHOUT_MROONGA_STORAGE_ENGINE=1\
18-DWITH_DEBUG=0\
19-DWITH_READLINE=1\
20-DWITH_SSL=system \
21-DWITH_ZLIB=system \
22-DWITH_PCRE=system \
23-DWITH_BOOST=system \
24-DWITH_LIBWRAP=0\
25-DENABLED_LOCAL_INFILE=1\
26-DMYSQL_UNIX_ADDR=/data/mariadb/mariadb.sock \
27-DDEFAULT_CHARSET=utf8mb4 \
28-DDEFAULT_COLLATION=utf8mb4_general_ci \
29-DWITH_SYSTEMD=yes
30
31# 执行make
32make-j$(nproc)&&makeinstall原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。