首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >MySQL 8.4源码编译安装(三)

MySQL 8.4源码编译安装(三)

原创
作者头像
Raymond运维
发布2025-09-22 23:35:14
发布2025-09-22 23:35:14
3410
举报
文章被收录于专栏:干货分享干货分享
2.4.2.4.10 openSUSE 15

进入mysql包解压的目录:

代码语言:javascript
复制
1cd mysql-8.4.5/

安装cmake包:

代码语言:javascript
复制
1zypperinstall-y cmake

执行cmake:

代码语言:javascript
复制
1cmake .\
2-DCMAKE_INSTALL_PREFIX=/apps/mysql \
3-DMYSQL_DATADIR=/data/mysql/ \
4-DSYSCONFDIR=/etc/ \
5-DWITH_INNOBASE_STORAGE_ENGINE=1\
6-DWITH_ARCHIVE_STORAGE_ENGINE=1\
7-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
8-DWITH_DEBUG=0\
9-DWITH_SSL=system \
10-DWITH_LIBWRAP=0\
11-DENABLED_LOCAL_INFILE=1\
12-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
13-DDEFAULT_CHARSET=utf8mb4 \
14-DDEFAULT_COLLATION=utf8mb4_general_ci \
15-DFORCE_INSOURCE_BUILD=1\
16-DWITH_SYSTEMD=1
17...
18CMake Error at CMakeLists.txt:514 (PROJECT):
19  No CMAKE_C_COMPILER could be found.
20
21  Tell CMake where to find the compiler by setting either the environment
22  variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
23  the compiler, or to the compiler name if it is in the PATH.# 提示,通过设置环境变量 “CC” 或 CMake 缓存条目CMAKE_C_COMPILER到编译器,或者如果编译器名称在 PATH。
24
25
26CMake Error at CMakeLists.txt:514 (PROJECT):
27  No CMAKE_CXX_COMPILER could be found.
28
29  Tell CMake where to find the compiler by setting either the environment
30  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
31  to the compiler, or to the compiler name if it is in the PATH.# 通过设置环境变量 “CXX” 或 CMake 缓存条目CMAKE_CXX_COMPILER完整路径添加到编译器,或者添加到编译器名称(如果它在 PATH 中)。
32
33
34-- Configuring incomplete, errors occurred!

安装gcc和gcc-c++包:

代码语言:javascript
复制
1zypperinstall-y gcc gcc-c++

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mysql \
6-DMYSQL_DATADIR=/data/mysql/ \
7-DSYSCONFDIR=/etc/ \
8-DWITH_INNOBASE_STORAGE_ENGINE=1\
9-DWITH_ARCHIVE_STORAGE_ENGINE=1\
10-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
11-DWITH_DEBUG=0\
12-DWITH_SSL=system \
13-DWITH_LIBWRAP=0\
14-DENABLED_LOCAL_INFILE=1\
15-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
16-DDEFAULT_CHARSET=utf8mb4 \
17-DDEFAULT_COLLATION=utf8mb4_general_ci \
18-DFORCE_INSOURCE_BUILD=1\
19-DWITH_SYSTEMD=1
20...
21CMake Warning at CMakeLists.txt:566 (MESSAGE):
22  This is an in-source build
23
24
25-- CMAKE_GENERATOR: Unix Makefiles
26CMake Error at cmake/os/Linux.cmake:73 (MESSAGE):
27  GCC 10 or newer is required # 提示,需要 GCC 10 或更高版本
28Call Stack (most recent call first):
29  CMakeLists.txt:667 (INCLUDE)
30
31
32-- Configuring incomplete, errors occurred!

编译安装gcc:

代码语言:javascript
复制
1opensuse15:/usr/local/src/mysql-8.4.5 # gcc --version
2gcc (SUSE Linux)7.5.0 # 可以看到gcc版本是7.5.0
3Copyright (C)2017 Free Software Foundation, Inc.
4This is free software; see the sourcefor copying conditions.  There is NO
5warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
6
7cd..
8
9# 注意:这里需要编译安装gcc 11,不要装gcc 10,装了gcc 10在登录mysql之后就退出了,报错“Segmentation fault”。
10wget https://mirrors.cloud.tencent.com/gnu/gcc/gcc-11.5.0/gcc-11.5.0.tar.gz
11tar xf gcc-11.5.0.tar.gz
12cd gcc-11.5.0
13
14# 下载gcc依赖包
15./contrib/download_prerequisites
162025-05-04 15:17:24 URL:https://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2 [2383840/2383840] ->"gmp-6.1.0.tar.bz2"[1]
172025-05-04 15:17:46 URL:http://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.6.tar.bz2 [1287202/1287202] ->"mpfr-3.1.6.tar.bz2"[1]
182025-05-04 15:18:00 URL:http://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gz [669925/669925] ->"mpc-1.0.3.tar.gz"[1]
192025-05-04 15:18:26 URL:http://gcc.gnu.org/pub/gcc/infrastructure/isl-0.18.tar.bz2 [1658291/1658291] ->"isl-0.18.tar.bz2"[1]
20gmp-6.1.0.tar.bz2: OK
21mpfr-3.1.6.tar.bz2: OK
22mpc-1.0.3.tar.gz: OK
23isl-0.18.tar.bz2: OK
24All prerequisites downloaded successfully.
25
26mkdir build
27cd build/
28
29# 执行configure
30../configure --prefix=/usr --disable-multilib
31...
32configure: creating ./config.status
33config.status: creating Makefile
34
35# 执行make
36make-j4&&makeinstall
37...
38make[4]: Nothing to be donefor'install-data-am'.
39make[4]: Leaving directory '/usr/local/src/gcc-11.5.0/build/x86_64-pc-linux-gnu/libatomic'
40make[3]: Leaving directory '/usr/local/src/gcc-11.5.0/build/x86_64-pc-linux-gnu/libatomic'
41make[2]: Leaving directory '/usr/local/src/gcc-11.5.0/build/x86_64-pc-linux-gnu/libatomic'
42make[1]: Leaving directory '/usr/local/src/gcc-11.5.0/build'
43
44opensuse15:/usr/local/src/gcc-11.5.0/build # gcc --version
45gcc (GCC)11.5.0
46Copyright (C)2021 Free Software Foundation, Inc.
47This is free software; see the sourcefor copying conditions.  There is NO
48warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

再次进入mysql包解压的目录:

代码语言:javascript
复制
1cd../../mysql-8.4.5/

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mysql \
6-DMYSQL_DATADIR=/data/mysql/ \
7-DSYSCONFDIR=/etc/ \
8-DWITH_INNOBASE_STORAGE_ENGINE=1\
9-DWITH_ARCHIVE_STORAGE_ENGINE=1\
10-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
11-DWITH_DEBUG=0\
12-DWITH_SSL=system \
13-DWITH_LIBWRAP=0\
14-DENABLED_LOCAL_INFILE=1\
15-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
16-DDEFAULT_CHARSET=utf8mb4 \
17-DDEFAULT_COLLATION=utf8mb4_general_ci \
18-DFORCE_INSOURCE_BUILD=1\
19-DWITH_SYSTEMD=1
20...
21CMake Error at cmake/ssl.cmake:85 (MESSAGE):
22  Please install the appropriate openssl developer package. # 提示,请安装相应的 openssl 开发人员软件包。
23
24Call Stack (most recent call first):
25  cmake/ssl.cmake:370 (FATAL_SSL_NOT_FOUND_ERROR)
26  cmake/ssl.cmake:551 (FIND_SYSTEM_OPENSSL)
27  CMakeLists.txt:1859 (MYSQL_CHECK_SSL)
28
29
30-- Configuring incomplete, errors occurred!

安装libopenssl-devel包:

代码语言:javascript
复制
zypper install -y libopenssl-devel

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mysql \
6-DMYSQL_DATADIR=/data/mysql/ \
7-DSYSCONFDIR=/etc/ \
8-DWITH_INNOBASE_STORAGE_ENGINE=1\
9-DWITH_ARCHIVE_STORAGE_ENGINE=1\
10-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
11-DWITH_DEBUG=0\
12-DWITH_SSL=system \
13-DWITH_LIBWRAP=0\
14-DENABLED_LOCAL_INFILE=1\
15-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
16-DDEFAULT_CHARSET=utf8mb4 \
17-DDEFAULT_COLLATION=utf8mb4_general_ci \
18-DFORCE_INSOURCE_BUILD=1\
19-DWITH_SYSTEMD=1
20...
21CMake Error at cmake/readline.cmake:93 (MESSAGE):
22  Curses library not found.  Please install appropriate package,
23
24      remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel. # 提示,找不到 Curses 库。请安装合适的软件包,删除 CMakeCache.txt 并重新运行 cmake。在 Debian/Ubuntu 上,包名称是 libncurses5-dev,在 Redhat 及其衍生产品上是 ncurses-devel。
25Call Stack (most recent call first):
26  cmake/readline.cmake:127 (FIND_CURSES)
27  cmake/readline.cmake:221 (MYSQL_USE_BUNDLED_EDITLINE)
28  CMakeLists.txt:1966 (MYSQL_CHECK_EDITLINE)
29
30
31-- Configuring incomplete, errors occurred!

安装ncurses-devel:

代码语言:javascript
复制
1zypperinstall-y ncurses-devel

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mysql \
6-DMYSQL_DATADIR=/data/mysql/ \
7-DSYSCONFDIR=/etc/ \
8-DWITH_INNOBASE_STORAGE_ENGINE=1\
9-DWITH_ARCHIVE_STORAGE_ENGINE=1\
10-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
11-DWITH_DEBUG=0\
12-DWITH_SSL=system \
13-DWITH_LIBWRAP=0\
14-DENABLED_LOCAL_INFILE=1\
15-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
16-DDEFAULT_CHARSET=utf8mb4 \
17-DDEFAULT_COLLATION=utf8mb4_general_ci \
18-DFORCE_INSOURCE_BUILD=1\
19-DWITH_SYSTEMD=1
20...
21CMake Warning at cmake/rpc.cmake:41 (MESSAGE):
22  Cannot find RPC development libraries.  You need to install the required
23  packages: # 提示,找不到 RPC 开发库。您需要安装所需的包:
24
25    Debian/Ubuntu:              aptinstall libtirpc-dev
26    RedHat/Fedora/Oracle Linux: yum install libtirpc-devel
27    SuSE:                       zypperinstall glibc-devel # 注意,它提示安装的这个包是不行的,要安装libtirpc-devel
28
29Call Stack (most recent call first):
30  cmake/rpc.cmake:107 (WARN_MISSING_SYSTEM_TIRPC)
31  CMakeLists.txt:2097 (MYSQL_CHECK_RPC)
32
33
34CMake Error at cmake/rpc.cmake:108 (MESSAGE):
35  Could not find rpc/rpc.h in /usr/include or /usr/include/tirpc
36Call Stack (most recent call first):
37  CMakeLists.txt:2097 (MYSQL_CHECK_RPC)
38
39
40-- Configuring incomplete, errors occurred!

安装libtirpc-devel包:

代码语言:javascript
复制
1zypperinstall-y libtirpc-devel

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mysql \
6-DMYSQL_DATADIR=/data/mysql/ \
7-DSYSCONFDIR=/etc/ \
8-DWITH_INNOBASE_STORAGE_ENGINE=1\
9-DWITH_ARCHIVE_STORAGE_ENGINE=1\
10-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
11-DWITH_DEBUG=0\
12-DWITH_SSL=system \
13-DWITH_LIBWRAP=0\
14-DENABLED_LOCAL_INFILE=1\
15-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
16-DDEFAULT_CHARSET=utf8mb4 \
17-DDEFAULT_COLLATION=utf8mb4_general_ci \
18-DFORCE_INSOURCE_BUILD=1\
19-DWITH_SYSTEMD=1
20...
21CMake Warning at cmake/rpc.cmake:30 (MESSAGE):
22  Cannot find rpcgen executable.  You need to install the required packages:
23
24    Debian/Ubuntu:              aptinstall rpcsvc-proto
25    RedHat/Fedora/Oracle Linux: yum install rpcgen
26    SuSE:                       zypperinstall glibc-devel # 注意,它提示安装的这个包是不行的,要安装rpcgen
27
28Call Stack (most recent call first):
29  plugin/group_replication/libmysqlgcs/cmake/rpcgen.cmake:123 (WARN_MISSING_RPCGEN_EXECUTABLE)
30  plugin/group_replication/libmysqlgcs/CMakeLists.txt:51 (INCLUDE)
31
32
33CMake Error at plugin/group_replication/libmysqlgcs/cmake/rpcgen.cmake:124 (MESSAGE):
34  Could not find rpcgen
35Call Stack (most recent call first):
36  plugin/group_replication/libmysqlgcs/CMakeLists.txt:51 (INCLUDE)
37
38
39-- Configuring incomplete, errors occurred!

安装rpcgen包:

代码语言:javascript
复制
1zypperinstall-y rpcgen

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mysql \
6-DMYSQL_DATADIR=/data/mysql/ \
7-DSYSCONFDIR=/etc/ \
8-DWITH_INNOBASE_STORAGE_ENGINE=1\
9-DWITH_ARCHIVE_STORAGE_ENGINE=1\
10-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
11-DWITH_DEBUG=0\
12-DWITH_SSL=system \
13-DWITH_LIBWRAP=0\
14-DENABLED_LOCAL_INFILE=1\
15-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
16-DDEFAULT_CHARSET=utf8mb4 \
17-DDEFAULT_COLLATION=utf8mb4_general_ci \
18-DFORCE_INSOURCE_BUILD=1\
19-DWITH_SYSTEMD=1
20...
21-- Configuring done(32.0s)
22-- Generating done(3.7s)
23-- Build files have been written to: /usr/local/src/mysql-8.4.5

执行make:

代码语言:javascript
复制
1make-j$(nproc)&&makeinstall

总结编译过程:

代码语言:javascript
复制
1# 安装依赖包
2zypperinstall-y cmake gcc gcc-c++ libopenssl-devel ncurses-devel libtirpc-devel rpcgen
3
4# 编译gcc
5wget https://mirrors.cloud.tencent.com/gnu/gcc/gcc-11.5.0/gcc-11.5.0.tar.gz
6tar xf gcc-11.5.0.tar.gz
7cd gcc-11.5.0
8./contrib/download_prerequisites
9mkdir build
10cd build/
11../configure --prefix=/usr --disable-multilib
12make-j4&&makeinstall
13
14# 进入mysql包解压的目录
15cd../../mysql-8.4.5/
16
17# 执行cmake
18cmake .\
19-DCMAKE_INSTALL_PREFIX=/apps/mysql \
20-DMYSQL_DATADIR=/data/mysql/ \
21-DSYSCONFDIR=/etc/ \
22-DWITH_INNOBASE_STORAGE_ENGINE=1\
23-DWITH_ARCHIVE_STORAGE_ENGINE=1\
24-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
25-DWITH_DEBUG=0\
26-DWITH_SSL=system \
27-DWITH_LIBWRAP=0\
28-DENABLED_LOCAL_INFILE=1\
29-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
30-DDEFAULT_CHARSET=utf8mb4 \
31-DDEFAULT_COLLATION=utf8mb4_general_ci \
32-DFORCE_INSOURCE_BUILD=1\
33-DWITH_SYSTEMD=1
34
35# 执行make
36make-j$(nproc)&&makeinstall
2.4.2.4.11 Ubuntu Server 24.04 LTS

进入mysql包解压的目录:

代码语言:javascript
复制
1cd mysql-8.4.5/

安装cmake包:

代码语言:javascript
复制
1apt update
2aptinstall-y cmake

执行cmake:

代码语言:javascript
复制
1cmake .\
2-DCMAKE_INSTALL_PREFIX=/apps/mysql \
3-DMYSQL_DATADIR=/data/mysql/ \
4-DSYSCONFDIR=/etc/ \
5-DWITH_INNOBASE_STORAGE_ENGINE=1\
6-DWITH_ARCHIVE_STORAGE_ENGINE=1\
7-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
8-DWITH_DEBUG=0\
9-DWITH_SSL=system \
10-DWITH_LIBWRAP=0\
11-DENABLED_LOCAL_INFILE=1\
12-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
13-DDEFAULT_CHARSET=utf8mb4 \
14-DDEFAULT_COLLATION=utf8mb4_general_ci \
15-DFORCE_INSOURCE_BUILD=1\
16-DWITH_SYSTEMD=1
17...
18CMake Error at CMakeLists.txt:514 (PROJECT):
19  No CMAKE_CXX_COMPILER could be found.
20
21  Tell CMake where to find the compiler by setting either the environment
22  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
23  to the compiler, or to the compiler name if it is in the PATH.# 提示,通过设置环境变量 “CXX” 或 CMake 缓存条目CMAKE_CXX_COMPILER完整路径添加到编译器,或者添加到编译器名称(如果它在 PATH 中)。
24
25
26-- Configuring incomplete, errors occurred!

安装g++包:

代码语言:javascript
复制
1aptinstall-y g++

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mysql \
6-DMYSQL_DATADIR=/data/mysql/ \
7-DSYSCONFDIR=/etc/ \
8-DWITH_INNOBASE_STORAGE_ENGINE=1\
9-DWITH_ARCHIVE_STORAGE_ENGINE=1\
10-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
11-DWITH_DEBUG=0\
12-DWITH_SSL=system \
13-DWITH_LIBWRAP=0\
14-DENABLED_LOCAL_INFILE=1\
15-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
16-DDEFAULT_CHARSET=utf8mb4 \
17-DDEFAULT_COLLATION=utf8mb4_general_ci \
18-DFORCE_INSOURCE_BUILD=1\
19-DWITH_SYSTEMD=1
20...
21CMake Error at cmake/ssl.cmake:85 (MESSAGE):
22  Please install the appropriate openssl developer package. # 提示,请安装相应的 openssl 开发人员软件包。
23
24Call Stack (most recent call first):
25  cmake/ssl.cmake:370 (FATAL_SSL_NOT_FOUND_ERROR)
26  cmake/ssl.cmake:551 (FIND_SYSTEM_OPENSSL)
27  CMakeLists.txt:1859 (MYSQL_CHECK_SSL)
28
29
30-- Configuring incomplete, errors occurred!

安装libssl-dev包:

代码语言:javascript
复制
1aptinstall-y libssl-dev

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mysql \
6-DMYSQL_DATADIR=/data/mysql/ \
7-DSYSCONFDIR=/etc/ \
8-DWITH_INNOBASE_STORAGE_ENGINE=1\
9-DWITH_ARCHIVE_STORAGE_ENGINE=1\
10-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
11-DWITH_DEBUG=0\
12-DWITH_SSL=system \
13-DWITH_LIBWRAP=0\
14-DENABLED_LOCAL_INFILE=1\
15-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
16-DDEFAULT_CHARSET=utf8mb4 \
17-DDEFAULT_COLLATION=utf8mb4_general_ci \
18-DFORCE_INSOURCE_BUILD=1\
19-DWITH_SYSTEMD=1
20...
21CMake Error at cmake/readline.cmake:93 (MESSAGE):
22  Curses library not found.  Please install appropriate package,
23
24      remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel. # 提示,找不到 Curses 库。请安装合适的软件包,删除 CMakeCache.txt 并重新运行 cmake。在 Debian/Ubuntu 上,包名称是 libncurses5-dev,在 Redhat 及其衍生产品上是 ncurses-devel。
25Call Stack (most recent call first):
26  cmake/readline.cmake:127 (FIND_CURSES)
27  cmake/readline.cmake:221 (MYSQL_USE_BUNDLED_EDITLINE)
28  CMakeLists.txt:1966 (MYSQL_CHECK_EDITLINE)
29
30
31-- Configuring incomplete, errors occurred!

安装libncurses5-dev包:

代码语言:javascript
复制
1aptinstall-y libncurses5-dev

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mysql \
6-DMYSQL_DATADIR=/data/mysql/ \
7-DSYSCONFDIR=/etc/ \
8-DWITH_INNOBASE_STORAGE_ENGINE=1\
9-DWITH_ARCHIVE_STORAGE_ENGINE=1\
10-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
11-DWITH_DEBUG=0\
12-DWITH_SSL=system \
13-DWITH_LIBWRAP=0\
14-DENABLED_LOCAL_INFILE=1\
15-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
16-DDEFAULT_CHARSET=utf8mb4 \
17-DDEFAULT_COLLATION=utf8mb4_general_ci \
18-DFORCE_INSOURCE_BUILD=1\
19-DWITH_SYSTEMD=1
20...
21CMake Warning at cmake/pkg-config.cmake:30 (MESSAGE):
22  Cannot find pkg-config.  You need to install the required package: # 找不到 pkg-config。您需要安装所需的软件包:
23
24    Debian/Ubuntu:              aptinstall pkg-config
25    RedHat/Fedora/Oracle Linux: yum install pkg-config
26    SuSE:                       zypperinstall pkg-config
27
28Call Stack (most recent call first):
29  cmake/rpc.cmake:62 (MYSQL_CHECK_PKGCONFIG)
30  CMakeLists.txt:2097 (MYSQL_CHECK_RPC)
31
32
33CMake Error at /usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
34  Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
35Call Stack (most recent call first):
36  /usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
37  /usr/share/cmake-3.28/Modules/FindPkgConfig.cmake:99 (find_package_handle_standard_args)
38  cmake/pkg-config.cmake:37 (FIND_PACKAGE)
39  cmake/rpc.cmake:62 (MYSQL_CHECK_PKGCONFIG)
40  CMakeLists.txt:2097 (MYSQL_CHECK_RPC)
41
42
43-- Configuring incomplete, errors occurred!

安装pkg-config包:

代码语言:javascript
复制
1aptinstall-y pkg-config

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mysql \
6-DMYSQL_DATADIR=/data/mysql/ \
7-DSYSCONFDIR=/etc/ \
8-DWITH_INNOBASE_STORAGE_ENGINE=1\
9-DWITH_ARCHIVE_STORAGE_ENGINE=1\
10-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
11-DWITH_DEBUG=0\
12-DWITH_SSL=system \
13-DWITH_LIBWRAP=0\
14-DENABLED_LOCAL_INFILE=1\
15-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
16-DDEFAULT_CHARSET=utf8mb4 \
17-DDEFAULT_COLLATION=utf8mb4_general_ci \
18-DFORCE_INSOURCE_BUILD=1\
19-DWITH_SYSTEMD=1
20...
21CMake Warning at cmake/rpc.cmake:41 (MESSAGE):
22  Cannot find RPC development libraries.  You need to install the required
23  packages: # 提示,找不到 RPC 开发库。您需要安装所需的包:
24
25    Debian/Ubuntu:              aptinstall libtirpc-dev
26    RedHat/Fedora/Oracle Linux: yum install libtirpc-devel
27    SuSE:                       zypperinstall glibc-devel
28
29Call Stack (most recent call first):
30  cmake/rpc.cmake:107 (WARN_MISSING_SYSTEM_TIRPC)
31  CMakeLists.txt:2097 (MYSQL_CHECK_RPC)
32
33
34CMake Error at cmake/rpc.cmake:108 (MESSAGE):
35  Could not find rpc/rpc.h in /usr/include or /usr/include/tirpc
36Call Stack (most recent call first):
37  CMakeLists.txt:2097 (MYSQL_CHECK_RPC)
38
39
40-- Configuring incomplete, errors occurred!

安装libtirpc-dev包:

代码语言:javascript
复制
1aptinstall-y libtirpc-dev

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mysql \
6-DMYSQL_DATADIR=/data/mysql/ \
7-DSYSCONFDIR=/etc/ \
8-DWITH_INNOBASE_STORAGE_ENGINE=1\
9-DWITH_ARCHIVE_STORAGE_ENGINE=1\
10-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
11-DWITH_DEBUG=0\
12-DWITH_SSL=system \
13-DWITH_LIBWRAP=0\
14-DENABLED_LOCAL_INFILE=1\
15-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
16-DDEFAULT_CHARSET=utf8mb4 \
17-DDEFAULT_COLLATION=utf8mb4_general_ci \
18-DFORCE_INSOURCE_BUILD=1\
19-DWITH_SYSTEMD=1
20...
21-- Configuring done(24.3s)
22-- Generating done(2.2s)
23-- Build files have been written to: /usr/local/src/mysql-8.4.5

执行make:

代码语言:javascript
复制
make -j $(nproc) && make install

总结编译过程:

代码语言:javascript
复制
1# 安装依赖包
2apt update
3aptinstall-y cmake g++ libssl-dev libncurses5-dev pkg-config libtirpc-dev
4
5# 进入mysql包解压的目录
6cd mysql-8.4.5/
7
8# 执行cmake
9cmake .\
10-DCMAKE_INSTALL_PREFIX=/apps/mysql \
11-DMYSQL_DATADIR=/data/mysql/ \
12-DSYSCONFDIR=/etc/ \
13-DWITH_INNOBASE_STORAGE_ENGINE=1\
14-DWITH_ARCHIVE_STORAGE_ENGINE=1\
15-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
16-DWITH_DEBUG=0\
17-DWITH_SSL=system \
18-DWITH_LIBWRAP=0\
19-DENABLED_LOCAL_INFILE=1\
20-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
21-DDEFAULT_CHARSET=utf8mb4 \
22-DDEFAULT_COLLATION=utf8mb4_general_ci \
23-DFORCE_INSOURCE_BUILD=1\
24-DWITH_SYSTEMD=1
25
26# 执行make
27make-j$(nproc)&&makeinstall
2.4.2.4.12 Ubuntu Server 22.04 LTS和Debian 11/12

进入mysql包解压的目录:

代码语言:javascript
复制
1cd mysql-8.4.5/

安装cmake包:

代码语言:javascript
复制
1apt update
2aptinstall-y cmake

执行cmake:

代码语言:javascript
复制
1cmake .\
2-DCMAKE_INSTALL_PREFIX=/apps/mysql \
3-DMYSQL_DATADIR=/data/mysql/ \
4-DSYSCONFDIR=/etc/ \
5-DWITH_INNOBASE_STORAGE_ENGINE=1\
6-DWITH_ARCHIVE_STORAGE_ENGINE=1\
7-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
8-DWITH_DEBUG=0\
9-DWITH_SSL=system \
10-DWITH_LIBWRAP=0\
11-DENABLED_LOCAL_INFILE=1\
12-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
13-DDEFAULT_CHARSET=utf8mb4 \
14-DDEFAULT_COLLATION=utf8mb4_general_ci \
15-DFORCE_INSOURCE_BUILD=1\
16-DWITH_SYSTEMD=1
17...
18CMake Error at CMakeLists.txt:514 (PROJECT):
19  No CMAKE_CXX_COMPILER could be found.
20
21  Tell CMake where to find the compiler by setting either the environment
22  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
23  to the compiler, or to the compiler name if it is in the PATH.# 提示,通过设置环境变量 “CXX” 或 CMake 缓存条目CMAKE_CXX_COMPILER完整路径添加到编译器,或者添加到编译器名称(如果它在 PATH 中)。
24
25
26-- Configuring incomplete, errors occurred!
27See also "/usr/local/src/mysql-8.4.5/CMakeFiles/CMakeOutput.log".
28See also "/usr/local/src/mysql-8.4.5/CMakeFiles/CMakeError.log".

安装g++包:

代码语言:javascript
复制
1aptinstall-y g++

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mysql \
6-DMYSQL_DATADIR=/data/mysql/ \
7-DSYSCONFDIR=/etc/ \
8-DWITH_INNOBASE_STORAGE_ENGINE=1\
9-DWITH_ARCHIVE_STORAGE_ENGINE=1\
10-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
11-DWITH_DEBUG=0\
12-DWITH_SSL=system \
13-DWITH_LIBWRAP=0\
14-DENABLED_LOCAL_INFILE=1\
15-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
16-DDEFAULT_CHARSET=utf8mb4 \
17-DDEFAULT_COLLATION=utf8mb4_general_ci \
18-DFORCE_INSOURCE_BUILD=1\
19-DWITH_SYSTEMD=1
20...
21CMake Error at cmake/ssl.cmake:85 (MESSAGE):
22  Please install the appropriate openssl developer package. # 提示,请安装相应的 openssl 开发人员软件包。
23
24Call Stack (most recent call first):
25  cmake/ssl.cmake:370 (FATAL_SSL_NOT_FOUND_ERROR)
26  cmake/ssl.cmake:551 (FIND_SYSTEM_OPENSSL)
27  CMakeLists.txt:1859 (MYSQL_CHECK_SSL)
28
29
30-- Configuring incomplete, errors occurred!
31See also "/usr/local/src/mysql-8.4.5/CMakeFiles/CMakeOutput.log".
32See also "/usr/local/src/mysql-8.4.5/CMakeFiles/CMakeError.log".

安装libssl-dev包:

代码语言:javascript
复制
1aptinstall-y libssl-dev

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mysql \
6-DMYSQL_DATADIR=/data/mysql/ \
7-DSYSCONFDIR=/etc/ \
8-DWITH_INNOBASE_STORAGE_ENGINE=1\
9-DWITH_ARCHIVE_STORAGE_ENGINE=1\
10-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
11-DWITH_DEBUG=0\
12-DWITH_SSL=system \
13-DWITH_LIBWRAP=0\
14-DENABLED_LOCAL_INFILE=1\
15-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
16-DDEFAULT_CHARSET=utf8mb4 \
17-DDEFAULT_COLLATION=utf8mb4_general_ci \
18-DFORCE_INSOURCE_BUILD=1\
19-DWITH_SYSTEMD=1
20...
21CMake Error at cmake/readline.cmake:93 (MESSAGE):
22  Curses library not found.  Please install appropriate package,
23
24      remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel. # 提示,找不到 Curses 库。请安装合适的软件包,删除 CMakeCache.txt 并重新运行 cmake。在 Debian/Ubuntu 上,包名称是 libncurses5-dev,在 Redhat 及其衍生产品上是 ncurses-devel。
25Call Stack (most recent call first):
26  cmake/readline.cmake:127 (FIND_CURSES)
27  cmake/readline.cmake:221 (MYSQL_USE_BUNDLED_EDITLINE)
28  CMakeLists.txt:1966 (MYSQL_CHECK_EDITLINE)
29
30
31-- Configuring incomplete, errors occurred!
32See also "/usr/local/src/mysql-8.4.5/CMakeFiles/CMakeOutput.log".
33See also "/usr/local/src/mysql-8.4.5/CMakeFiles/CMakeError.log".

安装libncurses5-dev包:

代码语言:javascript
复制
1aptinstall-y libncurses5-dev

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mysql \
6-DMYSQL_DATADIR=/data/mysql/ \
7-DSYSCONFDIR=/etc/ \
8-DWITH_INNOBASE_STORAGE_ENGINE=1\
9-DWITH_ARCHIVE_STORAGE_ENGINE=1\
10-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
11-DWITH_DEBUG=0\
12-DWITH_SSL=system \
13-DWITH_LIBWRAP=0\
14-DENABLED_LOCAL_INFILE=1\
15-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
16-DDEFAULT_CHARSET=utf8mb4 \
17-DDEFAULT_COLLATION=utf8mb4_general_ci \
18-DFORCE_INSOURCE_BUILD=1\
19-DWITH_SYSTEMD=1
20...
21CMake Warning at cmake/pkg-config.cmake:30 (MESSAGE):
22  Cannot find pkg-config.  You need to install the required package: # 找不到 pkg-config。您需要安装所需的软件包:
23
24    Debian/Ubuntu:              aptinstall pkg-config
25    RedHat/Fedora/Oracle Linux: yum install pkg-config
26    SuSE:                       zypperinstall pkg-config
27
28Call Stack (most recent call first):
29  cmake/rpc.cmake:62 (MYSQL_CHECK_PKGCONFIG)
30  CMakeLists.txt:2097 (MYSQL_CHECK_RPC)
31
32
33CMake Error at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
34  Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
35Call Stack (most recent call first):
36  /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
37  /usr/share/cmake-3.22/Modules/FindPkgConfig.cmake:99 (find_package_handle_standard_args)
38  cmake/pkg-config.cmake:37 (FIND_PACKAGE)
39  cmake/rpc.cmake:62 (MYSQL_CHECK_PKGCONFIG)
40  CMakeLists.txt:2097 (MYSQL_CHECK_RPC)
41
42
43-- Configuring incomplete, errors occurred!
44See also "/usr/local/src/mysql-8.4.5/CMakeFiles/CMakeOutput.log".
45See also "/usr/local/src/mysql-8.4.5/CMakeFiles/CMakeError.log".

安装pkg-config包:

代码语言:javascript
复制
1aptinstall-y pkg-config

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mysql \
6-DMYSQL_DATADIR=/data/mysql/ \
7-DSYSCONFDIR=/etc/ \
8-DWITH_INNOBASE_STORAGE_ENGINE=1\
9-DWITH_ARCHIVE_STORAGE_ENGINE=1\
10-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
11-DWITH_DEBUG=0\
12-DWITH_SSL=system \
13-DWITH_LIBWRAP=0\
14-DENABLED_LOCAL_INFILE=1\
15-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
16-DDEFAULT_CHARSET=utf8mb4 \
17-DDEFAULT_COLLATION=utf8mb4_general_ci \
18-DFORCE_INSOURCE_BUILD=1\
19-DWITH_SYSTEMD=1
20...
21-- Configuring done(24.3s)
22-- Generating done(2.2s)
23-- Build files have been written to: /usr/local/src/mysql-8.4.5

执行make:

代码语言:javascript
复制
1make-j$(nproc)&&makeinstall

总结编译过程:

代码语言:javascript
复制
1# 安装依赖包
2apt update
3aptinstall-y cmake g++ libssl-dev libncurses5-dev pkg-config
4
5# 进入mysql包解压的目录
6cd mysql-8.4.5/
7
8# 执行cmake
9cmake .\
10-DCMAKE_INSTALL_PREFIX=/apps/mysql \
11-DMYSQL_DATADIR=/data/mysql/ \
12-DSYSCONFDIR=/etc/ \
13-DWITH_INNOBASE_STORAGE_ENGINE=1\
14-DWITH_ARCHIVE_STORAGE_ENGINE=1\
15-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
16-DWITH_DEBUG=0\
17-DWITH_SSL=system \
18-DWITH_LIBWRAP=0\
19-DENABLED_LOCAL_INFILE=1\
20-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
21-DDEFAULT_CHARSET=utf8mb4 \
22-DDEFAULT_COLLATION=utf8mb4_general_ci \
23-DFORCE_INSOURCE_BUILD=1\
24-DWITH_SYSTEMD=1
25
26# 执行make
27make-j$(nproc)&&makeinstall
2.4.2.4.13 Ubunbu Server 20.04 LTS

进入mysql包解压的目录:

代码语言:javascript
复制
1cd mysql-8.4.5/

安装cmake包:

代码语言:javascript
复制
1apt update
2aptinstall-y cmake

执行cmake:

代码语言:javascript
复制
1cmake .\
2-DCMAKE_INSTALL_PREFIX=/apps/mysql \
3-DMYSQL_DATADIR=/data/mysql/ \
4-DSYSCONFDIR=/etc/ \
5-DWITH_INNOBASE_STORAGE_ENGINE=1\
6-DWITH_ARCHIVE_STORAGE_ENGINE=1\
7-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
8-DWITH_DEBUG=0\
9-DWITH_SSL=system \
10-DWITH_LIBWRAP=0\
11-DENABLED_LOCAL_INFILE=1\
12-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
13-DDEFAULT_CHARSET=utf8mb4 \
14-DDEFAULT_COLLATION=utf8mb4_general_ci \
15-DFORCE_INSOURCE_BUILD=1\
16-DWITH_SYSTEMD=1
17...
18CMake Error at CMakeLists.txt:514 (PROJECT):
19  No CMAKE_CXX_COMPILER could be found.
20
21  Tell CMake where to find the compiler by setting either the environment
22  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
23  to the compiler, or to the compiler name if it is in the PATH.# 提示,通过设置环境变量 “CXX” 或 CMake 缓存条目CMAKE_CXX_COMPILER完整路径添加到编译器,或者添加到编译器名称(如果它在 PATH 中)。
24
25
26-- Configuring incomplete, errors occurred!
27See also "/usr/local/src/mysql-8.4.5/CMakeFiles/CMakeOutput.log".
28See also "/usr/local/src/mysql-8.4.5/CMakeFiles/CMakeError.log".

安装g++包:

代码语言:javascript
复制
1aptinstall-y g++

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mysql \
6-DMYSQL_DATADIR=/data/mysql/ \
7-DSYSCONFDIR=/etc/ \
8-DWITH_INNOBASE_STORAGE_ENGINE=1\
9-DWITH_ARCHIVE_STORAGE_ENGINE=1\
10-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
11-DWITH_DEBUG=0\
12-DWITH_SSL=system \
13-DWITH_LIBWRAP=0\
14-DENABLED_LOCAL_INFILE=1\
15-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
16-DDEFAULT_CHARSET=utf8mb4 \
17-DDEFAULT_COLLATION=utf8mb4_general_ci \
18-DFORCE_INSOURCE_BUILD=1\
19-DWITH_SYSTEMD=1
20...
21CMake Warning at CMakeLists.txt:566 (MESSAGE):
22  This is an in-source build
23
24
25-- CMAKE_GENERATOR: Unix Makefiles
26CMake Error at cmake/os/Linux.cmake:73 (MESSAGE):
27  GCC 10 or newer is required # 提示,需要 GCC 10 或更高版本
28Call Stack (most recent call first):
29  CMakeLists.txt:667 (INCLUDE)
30
31
32-- Configuring incomplete, errors occurred!
33See also "/usr/local/src/mysql-8.4.5/CMakeFiles/CMakeOutput.log".
34See also "/usr/local/src/mysql-8.4.5/CMakeFiles/CMakeError.log".

安装gcc-11和g++-11包:

代码语言:javascript
复制
1# 添加新的PPA源:Ubuntu的官方源可能不包含最新的gcc和g++版本,你需要添加一个提供这些版本的PPA源
2root@ubuntu2004:/usr/local/src/mysql-8.4.5# add-apt-repository ppa:ubuntu-toolchain-r/test
3 Toolchain test builds; see https://wiki.ubuntu.com/ToolChain
4
5 More info: https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test
6Press [ENTER] to continue or Ctrl-c to cancel adding it. # 在这里按回车键继续
7
8Hit:1 https://mirrors.tencent.com/ubuntu bionic InRelease
9Hit:2 https://mirrors.tencent.com/ubuntu bionic-updates InRelease
10Hit:3 https://mirrors.tencent.com/ubuntu bionic-backports InRelease
11Hit:4 https://mirrors.tencent.com/ubuntu bionic-security InRelease
12Get:5 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic InRelease [21.5 kB]
13Get:6 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main i386 Packages [49.6 kB]
14Get:7 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main amd64 Packages [52.2 kB]
15Get:8 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main Translation-en [12.6 kB]
16Fetched 136 kB in 4s (38.6 kB/s)
17Reading package lists... Done
18
19# 替换地址为国内镜像站
20sed-i.bak's@http://ppa.launchpad.net@https://launchpad.proxy.ustclug.org@g' /etc/apt/sources.list.d/ubuntu-toolchain-r-ubuntu-test-bionic.list
21
22apt update
23aptinstall-y gcc-11 g++-11
24
25# 设置gcc和g++的默认版本:
26update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 60--slave /usr/bin/g++ g++ /usr/bin/g++-11

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mysql \
6-DMYSQL_DATADIR=/data/mysql/ \
7-DSYSCONFDIR=/etc/ \
8-DWITH_INNOBASE_STORAGE_ENGINE=1\
9-DWITH_ARCHIVE_STORAGE_ENGINE=1\
10-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
11-DWITH_DEBUG=0\
12-DWITH_SSL=system \
13-DWITH_LIBWRAP=0\
14-DENABLED_LOCAL_INFILE=1\
15-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
16-DDEFAULT_CHARSET=utf8mb4 \
17-DDEFAULT_COLLATION=utf8mb4_general_ci \
18-DFORCE_INSOURCE_BUILD=1\
19-DWITH_SYSTEMD=1
20...
21CMake Error at cmake/ssl.cmake:85 (MESSAGE):
22  Please install the appropriate openssl developer package. # 提示,请安装相应的 openssl 开发人员软件包。
23
24Call Stack (most recent call first):
25  cmake/ssl.cmake:370 (FATAL_SSL_NOT_FOUND_ERROR)
26  cmake/ssl.cmake:551 (FIND_SYSTEM_OPENSSL)
27  CMakeLists.txt:1859 (MYSQL_CHECK_SSL)
28
29
30-- Configuring incomplete, errors occurred!
31See also "/usr/local/src/mysql-8.4.5/CMakeFiles/CMakeOutput.log".
32See also "/usr/local/src/mysql-8.4.5/CMakeFiles/CMakeError.log".

安装libssl-dev包:

代码语言:javascript
复制
1aptinstall-y libssl-dev

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mysql \
6-DMYSQL_DATADIR=/data/mysql/ \
7-DSYSCONFDIR=/etc/ \
8-DWITH_INNOBASE_STORAGE_ENGINE=1\
9-DWITH_ARCHIVE_STORAGE_ENGINE=1\
10-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
11-DWITH_DEBUG=0\
12-DWITH_SSL=system \
13-DWITH_LIBWRAP=0\
14-DENABLED_LOCAL_INFILE=1\
15-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
16-DDEFAULT_CHARSET=utf8mb4 \
17-DDEFAULT_COLLATION=utf8mb4_general_ci \
18-DFORCE_INSOURCE_BUILD=1\
19-DWITH_SYSTEMD=1
20...
21CMake Error at cmake/readline.cmake:93 (MESSAGE):
22  Curses library not found.  Please install appropriate package,
23
24      remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel. # 提示,找不到 Curses 库。请安装合适的软件包,删除 CMakeCache.txt 并重新运行 cmake。在 Debian/Ubuntu 上,包名称是 libncurses5-dev,在 Redhat 及其衍生产品上是 ncurses-devel。
25Call Stack (most recent call first):
26  cmake/readline.cmake:127 (FIND_CURSES)
27  cmake/readline.cmake:221 (MYSQL_USE_BUNDLED_EDITLINE)
28  CMakeLists.txt:1966 (MYSQL_CHECK_EDITLINE)
29
30
31-- Configuring incomplete, errors occurred!
32See also "/usr/local/src/mysql-8.4.5/CMakeFiles/CMakeOutput.log".
33See also "/usr/local/src/mysql-8.4.5/CMakeFiles/CMakeError.log".

安装libncurses5-dev包:

代码语言:javascript
复制
1aptinstall-y libncurses5-dev

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mysql \
6-DMYSQL_DATADIR=/data/mysql/ \
7-DSYSCONFDIR=/etc/ \
8-DWITH_INNOBASE_STORAGE_ENGINE=1\
9-DWITH_ARCHIVE_STORAGE_ENGINE=1\
10-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
11-DWITH_DEBUG=0\
12-DWITH_SSL=system \
13-DWITH_LIBWRAP=0\
14-DENABLED_LOCAL_INFILE=1\
15-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
16-DDEFAULT_CHARSET=utf8mb4 \
17-DDEFAULT_COLLATION=utf8mb4_general_ci \
18-DFORCE_INSOURCE_BUILD=1\
19-DWITH_SYSTEMD=1
20...
21CMake Warning at cmake/pkg-config.cmake:30 (MESSAGE):
22  Cannot find pkg-config.  You need to install the required package: # 找不到 pkg-config。您需要安装所需的软件包:
23
24    Debian/Ubuntu:              aptinstall pkg-config
25    RedHat/Fedora/Oracle Linux: yum install pkg-config
26    SuSE:                       zypperinstall pkg-config
27
28Call Stack (most recent call first):
29  cmake/rpc.cmake:62 (MYSQL_CHECK_PKGCONFIG)
30  CMakeLists.txt:2097 (MYSQL_CHECK_RPC)
31
32
33CMake Error at /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:146 (message):
34  Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
35Call Stack (most recent call first):
36  /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:393 (_FPHSA_FAILURE_MESSAGE)
37  /usr/share/cmake-3.16/Modules/FindPkgConfig.cmake:41 (find_package_handle_standard_args)
38  cmake/pkg-config.cmake:37 (FIND_PACKAGE)
39  cmake/rpc.cmake:62 (MYSQL_CHECK_PKGCONFIG)
40  CMakeLists.txt:2097 (MYSQL_CHECK_RPC)
41
42
43-- Configuring incomplete, errors occurred!
44See also "/usr/local/src/mysql-8.4.5/CMakeFiles/CMakeOutput.log".
45See also "/usr/local/src/mysql-8.4.5/CMakeFiles/CMakeError.log".

安装pkg-config包:

代码语言:javascript
复制
1aptinstall-y pkg-config

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mysql \
6-DMYSQL_DATADIR=/data/mysql/ \
7-DSYSCONFDIR=/etc/ \
8-DWITH_INNOBASE_STORAGE_ENGINE=1\
9-DWITH_ARCHIVE_STORAGE_ENGINE=1\
10-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
11-DWITH_DEBUG=0\
12-DWITH_SSL=system \
13-DWITH_LIBWRAP=0\
14-DENABLED_LOCAL_INFILE=1\
15-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
16-DDEFAULT_CHARSET=utf8mb4 \
17-DDEFAULT_COLLATION=utf8mb4_general_ci \
18-DFORCE_INSOURCE_BUILD=1\
19-DWITH_SYSTEMD=1
20...
21-- Configuring done
22-- Generating done
23-- Build files have been written to: /usr/local/src/mysql-8.4.5

执行make:

代码语言:javascript
复制
1make-j$(nproc)&&makeinstall

总结编译过程:

代码语言:javascript
复制
1# 添加新的PPA源
2add-apt-repository ppa:ubuntu-toolchain-r/test
3
4# 替换地址为国内镜像站
5sed-i.bak's@http://ppa.launchpad.net@https://launchpad.proxy.ustclug.org@g' /etc/apt/sources.list.d/ubuntu-toolchain-r-ubuntu-test-bionic.list
6
7# 安装依赖包
8apt update
9aptinstall-y cmake gcc-11 g++-11 libssl-dev libncurses5-dev pkg-config
10
11# 设置gcc和g++的默认版本:
12update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 60--slave /usr/bin/g++ g++ /usr/bin/g++-11
13
14# 进入mysql包解压的目录
15cd mysql-8.4.5/
16
17# 执行cmake
18cmake .\
19-DCMAKE_INSTALL_PREFIX=/apps/mysql \
20-DMYSQL_DATADIR=/data/mysql/ \
21-DSYSCONFDIR=/etc/ \
22-DWITH_INNOBASE_STORAGE_ENGINE=1\
23-DWITH_ARCHIVE_STORAGE_ENGINE=1\
24-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
25-DWITH_DEBUG=0\
26-DWITH_SSL=system \
27-DWITH_LIBWRAP=0\
28-DENABLED_LOCAL_INFILE=1\
29-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
30-DDEFAULT_CHARSET=utf8mb4 \
31-DDEFAULT_COLLATION=utf8mb4_general_ci \
32-DFORCE_INSOURCE_BUILD=1\
33-DWITH_SYSTEMD=1
34
35# 执行make
36make-j$(nproc)&&makeinstall
2.4.2.4.14 Ubuntu Server 18.04 LTS

进入mysql包解压的目录:

代码语言:javascript
复制
1cd mysql-8.4.5/

安装cmake包:

代码语言:javascript
复制
1apt update
2aptinstall-y cmake

执行cmake:

代码语言:javascript
复制
1cmake .\
2-DCMAKE_INSTALL_PREFIX=/apps/mysql \
3-DMYSQL_DATADIR=/data/mysql/ \
4-DSYSCONFDIR=/etc/ \
5-DWITH_INNOBASE_STORAGE_ENGINE=1\
6-DWITH_ARCHIVE_STORAGE_ENGINE=1\
7-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
8-DWITH_DEBUG=0\
9-DWITH_SSL=system \
10-DWITH_LIBWRAP=0\
11-DENABLED_LOCAL_INFILE=1\
12-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
13-DDEFAULT_CHARSET=utf8mb4 \
14-DDEFAULT_COLLATION=utf8mb4_general_ci \
15-DFORCE_INSOURCE_BUILD=1\
16-DWITH_SYSTEMD=1
17...
18CMake Error at CMakeLists.txt:107 (CMAKE_MINIMUM_REQUIRED):
19  CMake 3.14.6 or higher is required.  You are running version 3.10.2 # 需要 CMake 3.14.6 或更高版本。您运行的是版本 3.10.2
20
21
22-- Configuring incomplete, errors occurred!

安装cmake:

去“https://cmake.org/download/”网址下载cmake二进制包,如图61所示。

t61
t61

图61 下载cmake二进制包

代码语言:javascript
复制
1# 卸载cmake
2apt 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
14root@ubuntu1804:/usr/local/src# cmake --version
15cmake version 3.31.7
16
17CMake suite maintained and supported by Kitware (kitware.com/cmake).

再次进入mysql包解压的目录:

代码语言:javascript
复制
1cd mysql-8.4.5/

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mysql \
6-DMYSQL_DATADIR=/data/mysql/ \
7-DSYSCONFDIR=/etc/ \
8-DWITH_INNOBASE_STORAGE_ENGINE=1\
9-DWITH_ARCHIVE_STORAGE_ENGINE=1\
10-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
11-DWITH_DEBUG=0\
12-DWITH_SSL=system \
13-DWITH_LIBWRAP=0\
14-DENABLED_LOCAL_INFILE=1\
15-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
16-DDEFAULT_CHARSET=utf8mb4 \
17-DDEFAULT_COLLATION=utf8mb4_general_ci \
18-DFORCE_INSOURCE_BUILD=1\
19-DWITH_SYSTEMD=1
20...
21CMake Error at CMakeLists.txt:514 (PROJECT):
22  No CMAKE_CXX_COMPILER could be found.
23
24  Tell CMake where to find the compiler by setting either the environment
25  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
26  to the compiler, or to the compiler name if it is in the PATH.# 提示,通过设置环境变量 “CXX” 或 CMake 缓存条目CMAKE_CXX_COMPILER完整路径添加到编译器,或者添加到编译器名称(如果它在 PATH 中)。
27
28
29-- Configuring incomplete, errors occurred!

安装g++包:

代码语言:javascript
复制
1aptinstall-y g++

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mysql \
6-DMYSQL_DATADIR=/data/mysql/ \
7-DSYSCONFDIR=/etc/ \
8-DWITH_INNOBASE_STORAGE_ENGINE=1\
9-DWITH_ARCHIVE_STORAGE_ENGINE=1\
10-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
11-DWITH_DEBUG=0\
12-DWITH_SSL=system \
13-DWITH_LIBWRAP=0\
14-DENABLED_LOCAL_INFILE=1\
15-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
16-DDEFAULT_CHARSET=utf8mb4 \
17-DDEFAULT_COLLATION=utf8mb4_general_ci \
18-DFORCE_INSOURCE_BUILD=1\
19-DWITH_SYSTEMD=1
20...
21CMake Warning at CMakeLists.txt:566 (MESSAGE):
22  This is an in-source build
23
24
25-- CMAKE_GENERATOR: Unix Makefiles
26CMake Error at cmake/os/Linux.cmake:73 (MESSAGE):
27  GCC 10 or newer is required # 提示,需要 GCC 10 或更高版本
28Call Stack (most recent call first):
29  CMakeLists.txt:667 (INCLUDE)
30
31
32-- Configuring incomplete, errors occurred!

安装gcc-11和g++-11包:

代码语言:javascript
复制
1# 添加新的PPA源:Ubuntu的官方源可能不包含最新的gcc和g++版本,你需要添加一个提供这些版本的PPA源
2root@ubuntu1804:/usr/local/src/mysql-8.4.5# add-apt-repository ppa:ubuntu-toolchain-r/test
3 Toolchain test builds; see https://wiki.ubuntu.com/ToolChain
4
5 More info: https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test
6Press [ENTER] to continue or Ctrl-c to cancel adding it. # 在这里按回车键继续
7
8Hit:1 https://mirrors.tencent.com/ubuntu bionic InRelease
9Hit:2 https://mirrors.tencent.com/ubuntu bionic-updates InRelease
10Hit:3 https://mirrors.tencent.com/ubuntu bionic-backports InRelease
11Hit:4 https://mirrors.tencent.com/ubuntu bionic-security InRelease
12Get:5 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic InRelease [21.5 kB]
13Get:6 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main i386 Packages [49.6 kB]
14Get:7 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main amd64 Packages [52.2 kB]
15Get:8 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main Translation-en [12.6 kB]
16Fetched 136 kB in 4s (38.6 kB/s)
17Reading package lists... Done
18
19# 替换地址为国内镜像站
20sed-i.bak's@http://ppa.launchpad.net@https://launchpad.proxy.ustclug.org@g' /etc/apt/sources.list.d/ubuntu-toolchain-r-ubuntu-test-bionic.list
21
22apt update
23aptinstall-y gcc-11 g++-11
24
25# 设置gcc和g++的默认版本:
26update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 60--slave /usr/bin/g++ g++ /usr/bin/g++-11

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mysql \
6-DMYSQL_DATADIR=/data/mysql/ \
7-DSYSCONFDIR=/etc/ \
8-DWITH_INNOBASE_STORAGE_ENGINE=1\
9-DWITH_ARCHIVE_STORAGE_ENGINE=1\
10-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
11-DWITH_DEBUG=0\
12-DWITH_SSL=system \
13-DWITH_LIBWRAP=0\
14-DENABLED_LOCAL_INFILE=1\
15-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
16-DDEFAULT_CHARSET=utf8mb4 \
17-DDEFAULT_COLLATION=utf8mb4_general_ci \
18-DFORCE_INSOURCE_BUILD=1\
19-DWITH_SYSTEMD=1
20...
21CMake Error at cmake/ssl.cmake:85 (MESSAGE):
22  Please install the appropriate openssl developer package. # 提示,请安装相应的 openssl 开发人员软件包。
23
24Call Stack (most recent call first):
25  cmake/ssl.cmake:370 (FATAL_SSL_NOT_FOUND_ERROR)
26  cmake/ssl.cmake:551 (FIND_SYSTEM_OPENSSL)
27  CMakeLists.txt:1859 (MYSQL_CHECK_SSL)
28
29
30-- Configuring incomplete, errors occurred!

安装libssl-dev包:

代码语言:javascript
复制
1aptinstall-y libssl-dev

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mysql \
6-DMYSQL_DATADIR=/data/mysql/ \
7-DSYSCONFDIR=/etc/ \
8-DWITH_INNOBASE_STORAGE_ENGINE=1\
9-DWITH_ARCHIVE_STORAGE_ENGINE=1\
10-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
11-DWITH_DEBUG=0\
12-DWITH_SSL=system \
13-DWITH_LIBWRAP=0\
14-DENABLED_LOCAL_INFILE=1\
15-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
16-DDEFAULT_CHARSET=utf8mb4 \
17-DDEFAULT_COLLATION=utf8mb4_general_ci \
18-DFORCE_INSOURCE_BUILD=1\
19-DWITH_SYSTEMD=1
20...
21CMake Error at cmake/readline.cmake:93 (MESSAGE):
22  Curses library not found.  Please install appropriate package,
23
24      remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel. # 提示,找不到 Curses 库。请安装合适的软件包,删除 CMakeCache.txt 并重新运行 cmake。在 Debian/Ubuntu 上,包名称是 libncurses5-dev,在 Redhat 及其衍生产品上是 ncurses-devel。
25Call Stack (most recent call first):
26  cmake/readline.cmake:127 (FIND_CURSES)
27  cmake/readline.cmake:221 (MYSQL_USE_BUNDLED_EDITLINE)
28  CMakeLists.txt:1966 (MYSQL_CHECK_EDITLINE)
29
30
31-- Configuring incomplete, errors occurred!

安装libncurses5-dev包:

代码语言:javascript
复制
1aptinstall-y libncurses5-dev

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mysql \
6-DMYSQL_DATADIR=/data/mysql/ \
7-DSYSCONFDIR=/etc/ \
8-DWITH_INNOBASE_STORAGE_ENGINE=1\
9-DWITH_ARCHIVE_STORAGE_ENGINE=1\
10-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
11-DWITH_DEBUG=0\
12-DWITH_SSL=system \
13-DWITH_LIBWRAP=0\
14-DENABLED_LOCAL_INFILE=1\
15-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
16-DDEFAULT_CHARSET=utf8mb4 \
17-DDEFAULT_COLLATION=utf8mb4_general_ci \
18-DFORCE_INSOURCE_BUILD=1\
19-DWITH_SYSTEMD=1
20...
21CMake Warning at cmake/pkg-config.cmake:30 (MESSAGE):
22  Cannot find pkg-config.  You need to install the required package: # 提示,找不到 pkg-config。您需要安装所需的软件包:
23
24    Debian/Ubuntu:              aptinstall pkg-config
25    RedHat/Fedora/Oracle Linux: yum install pkg-config
26    SuSE:                       zypperinstall pkg-config
27
28Call Stack (most recent call first):
29  cmake/rpc.cmake:62 (MYSQL_CHECK_PKGCONFIG)
30  CMakeLists.txt:2097 (MYSQL_CHECK_RPC)
31
32
33CMake Error at /usr/local/share/cmake-3.31/Modules/FindPackageHandleStandardArgs.cmake:233 (message):
34  Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
35Call Stack (most recent call first):
36  /usr/local/share/cmake-3.31/Modules/FindPackageHandleStandardArgs.cmake:603 (_FPHSA_FAILURE_MESSAGE)
37  /usr/local/share/cmake-3.31/Modules/FindPkgConfig.cmake:114 (find_package_handle_standard_args)
38  cmake/pkg-config.cmake:37 (FIND_PACKAGE)
39  cmake/rpc.cmake:62 (MYSQL_CHECK_PKGCONFIG)
40  CMakeLists.txt:2097 (MYSQL_CHECK_RPC)
41
42
43-- Configuring incomplete, errors occurred!

安装pkg-config包:

代码语言:javascript
复制
1aptinstall-y pkg-config

继续执行cmake:

代码语言:javascript
复制
1# 再次执行cmake之前先删除“CMakeCache.txt”文件
2rm-f CMakeCache.txt
3
4cmake .\
5-DCMAKE_INSTALL_PREFIX=/apps/mysql \
6-DMYSQL_DATADIR=/data/mysql/ \
7-DSYSCONFDIR=/etc/ \
8-DWITH_INNOBASE_STORAGE_ENGINE=1\
9-DWITH_ARCHIVE_STORAGE_ENGINE=1\
10-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
11-DWITH_DEBUG=0\
12-DWITH_SSL=system \
13-DWITH_LIBWRAP=0\
14-DENABLED_LOCAL_INFILE=1\
15-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
16-DDEFAULT_CHARSET=utf8mb4 \
17-DDEFAULT_COLLATION=utf8mb4_general_ci \
18-DFORCE_INSOURCE_BUILD=1\
19-DWITH_SYSTEMD=1
20...
21-- Configuring done(22.1s)
22-- Generating done(4.2s)
23-- Build files have been written to: /usr/local/src/mysql-8.4.5

执行make:

代码语言:javascript
复制
1make-j$(nproc)&&makeinstall

总结编译过程:

代码语言:javascript
复制
1# 添加新的PPA源
2add-apt-repository ppa:ubuntu-toolchain-r/test
3
4# 替换地址为国内镜像站
5sed-i.bak's@http://ppa.launchpad.net@https://launchpad.proxy.ustclug.org@g' /etc/apt/sources.list.d/ubuntu-toolchain-r-ubuntu-test-bionic.list
6
7# 安装依赖包
8apt update
9aptinstall-y gcc-11 g++-11 libssl-dev libncurses5-dev pkg-config
10
11# 设置gcc和g++的默认版本:
12update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 60--slave /usr/bin/g++ g++ /usr/bin/g++-11
13
14# 安装cmake
15wget https://github.com/Kitware/CMake/releases/download/v3.31.7/cmake-3.31.7-linux-x86_64.tar.gz
16tar xf cmake-3.31.7-linux-x86_64.tar.gz -C /usr/local/
17ln-s /usr/local/cmake-3.31.7-linux-x86_64/bin/cmake /usr/bin/
18
19# 进入mysql包解压的目录
20cd mysql-8.4.5/
21
22# 执行cmake
23cmake .\
24-DCMAKE_INSTALL_PREFIX=/apps/mysql \
25-DMYSQL_DATADIR=/data/mysql/ \
26-DSYSCONFDIR=/etc/ \
27-DWITH_INNOBASE_STORAGE_ENGINE=1\
28-DWITH_ARCHIVE_STORAGE_ENGINE=1\
29-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
30-DWITH_DEBUG=0\
31-DWITH_SSL=system \
32-DWITH_LIBWRAP=0\
33-DENABLED_LOCAL_INFILE=1\
34-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
35-DDEFAULT_CHARSET=utf8mb4 \
36-DDEFAULT_COLLATION=utf8mb4_general_ci \
37-DFORCE_INSOURCE_BUILD=1\
38-DWITH_SYSTEMD=1
39
40# 执行make
41make-j$(nproc)&&makeinstall

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2.4.2.4.10 openSUSE 15
  • 2.4.2.4.11 Ubuntu Server 24.04 LTS
  • 2.4.2.4.12 Ubuntu Server 22.04 LTS和Debian 11/12
  • 2.4.2.4.13 Ubunbu Server 20.04 LTS
  • 2.4.2.4.14 Ubuntu Server 18.04 LTS
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档