进入mysql包解压的目录:
cd mysql-8.0.42/
安装cmake包:
apt update
apt install -y cmake
执行cmake:
cmake \
-DCMAKE_INSTALL_PREFIX=/apps/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/apps/mysql \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/mysql/ \
-DWITH_BOOST=/usr/local/src/mysql-8.0.42/boost/boost_1_77_0/ \
-DFORCE_INSOURCE_BUILD=1 \
-DWITH_SYSTEMD=1
...
CMake Warning:
No source or binary directory provided. Both will be assumed to be the
same as the current working directory, but note that this warning will
become a fatal error in future CMake releases.
-- Running cmake version 3.28.3
-- Found Git: /usr/bin/git (found version "2.43.0")
-- CMAKE_MODULE_PATH is /usr/local/src/mysql-8.0.42/cmake
-- MySQL 8.0.42
-- The C compiler identification is GNU 13.3.0
-- The CXX compiler identification is unknown
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
CMake Error at CMakeLists.txt:585 (PROJECT):
No CMAKE_CXX_COMPILER could be found.
Tell CMake where to find the compiler by setting either the environment
variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
to the compiler, or to the compiler name if it is in the PATH. # 通过设置环境变量 “CXX” 或 CMake 缓存条目CMAKE_CXX_COMPILER完整路径添加到编译器,或者添加到编译器名称(如果它在 PATH 中),需要安装g++。
-- Configuring incomplete, errors occurred!
安装g++包:
apt install -y g++
继续执行cmake:
# 再次执行cmake之前先删除“CMakeCache.txt”文件
rm -f CMakeCache.txt
cmake \
-DCMAKE_INSTALL_PREFIX=/apps/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/apps/mysql \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/mysql/ \
-DWITH_BOOST=/usr/local/src/mysql-8.0.42/boost/boost_1_77_0/ \
-DFORCE_INSOURCE_BUILD=1 \
-DWITH_SYSTEMD=1
...
Not a supported openssl version in WITH_SSL=system.
Make sure you have specified a supported SSL version.
Valid options are :
openssl[0-9]+ (use alternative system library)
yes (synonym for system)
</path/to/custom/openssl/installation>
CMake Error at cmake/ssl.cmake:84 (MESSAGE):
Please install the appropriate openssl developer package. # 提示,请安装相应的 openssl 开发人员软件包。
Call Stack (most recent call first):
cmake/ssl.cmake:380 (FATAL_SSL_NOT_FOUND_ERROR)
CMakeLists.txt:1826 (MYSQL_CHECK_SSL)
-- Configuring incomplete, errors occurred!
安装libssl-dev包:
apt install -y libssl-dev
继续执行cmake:
# 再次执行cmake之前先删除“CMakeCache.txt”文件
rm -f CMakeCache.txt
cmake \
-DCMAKE_INSTALL_PREFIX=/apps/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/apps/mysql \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/mysql/ \
-DWITH_BOOST=/usr/local/src/mysql-8.0.42/boost/boost_1_77_0/ \
-DFORCE_INSOURCE_BUILD=1 \
-DWITH_SYSTEMD=1
...
CMake Error at cmake/readline.cmake:93 (MESSAGE):
Curses library not found. Please install appropriate package,
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。
Call Stack (most recent call first):
cmake/readline.cmake:127 (FIND_CURSES)
cmake/readline.cmake:221 (MYSQL_USE_BUNDLED_EDITLINE)
CMakeLists.txt:1930 (MYSQL_CHECK_EDITLINE)
-- Configuring incomplete, errors occurred!
安装libncurses5-dev包:
apt install -y libncurses5-dev
继续执行cmake:
# 再次执行cmake之前先删除“CMakeCache.txt”文件
rm -f CMakeCache.txt
cmake \
-DCMAKE_INSTALL_PREFIX=/apps/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/apps/mysql \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/mysql/ \
-DWITH_BOOST=/usr/local/src/mysql-8.0.42/boost/boost_1_77_0/ \
-DFORCE_INSOURCE_BUILD=1 \
-DWITH_SYSTEMD=1
...
CMake Warning at cmake/pkg-config.cmake:30 (MESSAGE):
Cannot find pkg-config. You need to install the required package: # 找不到 pkg-config。您需要安装所需的软件包:
Debian/Ubuntu: apt install pkg-config
RedHat/Fedora/Oracle Linux: yum install pkg-config
SuSE: zypper install pkg-config
Call Stack (most recent call first):
cmake/rpc.cmake:62 (MYSQL_CHECK_PKGCONFIG)
CMakeLists.txt:2066 (MYSQL_CHECK_RPC)
CMake Error at /usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
Call Stack (most recent call first):
/usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.28/Modules/FindPkgConfig.cmake:99 (find_package_handle_standard_args)
cmake/pkg-config.cmake:37 (FIND_PACKAGE)
cmake/rpc.cmake:62 (MYSQL_CHECK_PKGCONFIG)
CMakeLists.txt:2066 (MYSQL_CHECK_RPC)
-- Configuring incomplete, errors occurred!
安装pkg-config包:
apt install -y pkg-config
继续执行cmake:
# 再次执行cmake之前先删除“CMakeCache.txt”文件
rm -f CMakeCache.txt
cmake \
-DCMAKE_INSTALL_PREFIX=/apps/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/apps/mysql \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/mysql/ \
-DWITH_BOOST=/usr/local/src/mysql-8.0.42/boost/boost_1_77_0/ \
-DFORCE_INSOURCE_BUILD=1 \
-DWITH_SYSTEMD=1
...
CMake Warning at cmake/rpc.cmake:41 (MESSAGE):
Cannot find RPC development libraries. You need to install the required
packages: # 提示,找不到 RPC 开发库。您需要安装所需的包:
Debian/Ubuntu: apt install libtirpc-dev
RedHat/Fedora/Oracle Linux: yum install libtirpc-devel
SuSE: zypper install glibc-devel
Call Stack (most recent call first):
cmake/rpc.cmake:112 (WARN_MISSING_SYSTEM_TIRPC)
CMakeLists.txt:2066 (MYSQL_CHECK_RPC)
CMake Error at cmake/rpc.cmake:113 (MESSAGE):
Could not find rpc/rpc.h in /usr/include or /usr/include/tirpc
Call Stack (most recent call first):
CMakeLists.txt:2066 (MYSQL_CHECK_RPC)
-- Configuring incomplete, errors occurred!
安装libtirpc-dev包:
apt install -y libtirpc-dev
继续执行cmake:
# 再次执行cmake之前先删除“CMakeCache.txt”文件
rm -f CMakeCache.txt
cmake \
-DCMAKE_INSTALL_PREFIX=/apps/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/apps/mysql \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/mysql/ \
-DWITH_BOOST=/usr/local/src/mysql-8.0.42/boost/boost_1_77_0/ \
-DFORCE_INSOURCE_BUILD=1 \
-DWITH_SYSTEMD=1
...
-- Configuring done (47.0s)
-- Generating done (3.4s)
-- Build files have been written to: /usr/local/src/mysql-8.0.42
执行make:
make -j $(nproc) && make install
总结编译过程:
# 安装依赖包
apt update
apt install -y cmake g++ libssl-dev libncurses5-dev pkg-config libtirpc-dev
# 进入mysql包解压的目录
cd mysql-8.0.42/
# 执行cmake
cmake \
-DCMAKE_INSTALL_PREFIX=/apps/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/apps/mysql \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/mysql/ \
-DWITH_BOOST=/usr/local/src/mysql-8.0.42/boost/boost_1_77_0/ \
-DFORCE_INSOURCE_BUILD=1 \
-DWITH_SYSTEMD=1
# 执行make
make -j $(nproc) && make install
进入mysql包解压的目录:
cd mysql-8.0.42/
安装cmake包:
apt update
apt install -y cmake
执行cmake:
cmake \
-DCMAKE_INSTALL_PREFIX=/apps/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/apps/mysql \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/mysql/ \
-DWITH_BOOST=/usr/local/src/mysql-8.0.42/boost/boost_1_77_0/ \
-DFORCE_INSOURCE_BUILD=1 \
-DWITH_SYSTEMD=1
...
CMake Warning:
No source or binary directory provided. Both will be assumed to be the
same as the current working directory, but note that this warning will
become a fatal error in future CMake releases.
-- Running cmake version 3.22.1
-- Found Git: /usr/bin/git (found version "2.34.1")
-- CMAKE_MODULE_PATH is /usr/local/src/mysql-8.0.42/cmake
-- MySQL 8.0.42
-- The C compiler identification is GNU 11.4.0
-- The CXX compiler identification is unknown
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
CMake Error at CMakeLists.txt:585 (PROJECT):
No CMAKE_CXX_COMPILER could be found.
Tell CMake where to find the compiler by setting either the environment
variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
to the compiler, or to the compiler name if it is in the PATH. # 通过设置环境变量 “CXX” 或 CMake 缓存条目CMAKE_CXX_COMPILER完整路径添加到编译器,或者添加到编译器名称(如果它在 PATH 中),需要安装g++。
-- Configuring incomplete, errors occurred!
See also "/usr/local/src/mysql-8.0.42/CMakeFiles/CMakeOutput.log".
See also "/usr/local/src/mysql-8.0.42/CMakeFiles/CMakeError.log".
安装g++包:
apt install -y g++
继续执行cmake:
# 再次执行cmake之前先删除“CMakeCache.txt”文件
rm -f CMakeCache.txt
cmake \
-DCMAKE_INSTALL_PREFIX=/apps/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/apps/mysql \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/mysql/ \
-DWITH_BOOST=/usr/local/src/mysql-8.0.42/boost/boost_1_77_0/ \
-DFORCE_INSOURCE_BUILD=1 \
-DWITH_SYSTEMD=1
...
Not a supported openssl version in WITH_SSL=system.
Make sure you have specified a supported SSL version.
Valid options are :
openssl[0-9]+ (use alternative system library)
yes (synonym for system)
</path/to/custom/openssl/installation>
CMake Error at cmake/ssl.cmake:84 (MESSAGE):
Please install the appropriate openssl developer package. # 提示,请安装相应的 openssl 开发人员软件包。
Call Stack (most recent call first):
cmake/ssl.cmake:380 (FATAL_SSL_NOT_FOUND_ERROR)
CMakeLists.txt:1826 (MYSQL_CHECK_SSL)
-- Configuring incomplete, errors occurred!
See also "/usr/local/src/mysql-8.0.42/CMakeFiles/CMakeOutput.log".
See also "/usr/local/src/mysql-8.0.42/CMakeFiles/CMakeError.log".
安装libssl-dev包:
apt install -y libssl-dev
继续执行cmake:
# 再次执行cmake之前先删除“CMakeCache.txt”文件
rm -f CMakeCache.txt
cmake \
-DCMAKE_INSTALL_PREFIX=/apps/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/apps/mysql \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/mysql/ \
-DWITH_BOOST=/usr/local/src/mysql-8.0.42/boost/boost_1_77_0/ \
-DFORCE_INSOURCE_BUILD=1 \
-DWITH_SYSTEMD=1
...
CMake Error at cmake/readline.cmake:93 (MESSAGE):
Curses library not found. Please install appropriate package,
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。
Call Stack (most recent call first):
cmake/readline.cmake:127 (FIND_CURSES)
cmake/readline.cmake:221 (MYSQL_USE_BUNDLED_EDITLINE)
CMakeLists.txt:1930 (MYSQL_CHECK_EDITLINE)
-- Configuring incomplete, errors occurred!
See also "/usr/local/src/mysql-8.0.42/CMakeFiles/CMakeOutput.log".
See also "/usr/local/src/mysql-8.0.42/CMakeFiles/CMakeError.log".
安装libncurses5-dev包:
apt install -y libncurses5-dev
继续执行cmake:
# 再次执行cmake之前先删除“CMakeCache.txt”文件
rm -f CMakeCache.txt
cmake \
-DCMAKE_INSTALL_PREFIX=/apps/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/apps/mysql \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/mysql/ \
-DWITH_BOOST=/usr/local/src/mysql-8.0.42/boost/boost_1_77_0/ \
-DFORCE_INSOURCE_BUILD=1 \
-DWITH_SYSTEMD=1
...
CMake Warning at cmake/pkg-config.cmake:30 (MESSAGE):
Cannot find pkg-config. You need to install the required package: # 找不到 pkg-config。您需要安装所需的软件包:
Debian/Ubuntu: apt install pkg-config
RedHat/Fedora/Oracle Linux: yum install pkg-config
SuSE: zypper install pkg-config
Call Stack (most recent call first):
cmake/rpc.cmake:62 (MYSQL_CHECK_PKGCONFIG)
CMakeLists.txt:2066 (MYSQL_CHECK_RPC)
CMake Error at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
Call Stack (most recent call first):
/usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.22/Modules/FindPkgConfig.cmake:99 (find_package_handle_standard_args)
cmake/pkg-config.cmake:37 (FIND_PACKAGE)
cmake/rpc.cmake:62 (MYSQL_CHECK_PKGCONFIG)
CMakeLists.txt:2066 (MYSQL_CHECK_RPC)
-- Configuring incomplete, errors occurred!
See also "/usr/local/src/mysql-8.0.42/CMakeFiles/CMakeOutput.log".
See also "/usr/local/src/mysql-8.0.42/CMakeFiles/CMakeError.log".
安装pkg-config包:
apt install -y pkg-config
继续执行cmake:
# 再次执行cmake之前先删除“CMakeCache.txt”文件
rm -f CMakeCache.txt
cmake \
-DCMAKE_INSTALL_PREFIX=/apps/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/apps/mysql \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/mysql/ \
-DWITH_BOOST=/usr/local/src/mysql-8.0.42/boost/boost_1_77_0/ \
-DFORCE_INSOURCE_BUILD=1 \
-DWITH_SYSTEMD=1
...
-- Configuring done
-- Generating done
-- Build files have been written to: /usr/local/src/mysql-8.0.42
执行make:
make -j $(nproc) && make install
总结编译过程:
# 安装依赖包
apt update
apt install -y cmake g++ libssl-dev libncurses5-dev pkg-config
# 进入mysql包解压的目录
cd mysql-8.0.42/
# 执行cmake
cmake \
-DCMAKE_INSTALL_PREFIX=/apps/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/apps/mysql \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/mysql/ \
-DWITH_BOOST=/usr/local/src/mysql-8.0.42/boost/boost_1_77_0/ \
-DFORCE_INSOURCE_BUILD=1 \
-DWITH_SYSTEMD=1
# 执行make
make -j $(nproc) && make install
进入mysql包解压的目录:
cd mysql-8.0.42/
安装cmake包:
apt update
apt install -y cmake
执行cmake:
cmake \
-DCMAKE_INSTALL_PREFIX=/apps/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/apps/mysql \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/mysql/ \
-DWITH_BOOST=/usr/local/src/mysql-8.0.42/boost/boost_1_77_0/ \
-DFORCE_INSOURCE_BUILD=1 \
-DWITH_SYSTEMD=1
...
CMake Error at CMakeLists.txt:110 (CMAKE_MINIMUM_REQUIRED):
CMake 3.11.2 or higher is required. You are running version 3.10.2 # 需要 CMake 3.11.2 或更高版本。您运行的是版本 3.10.2。
-- Configuring incomplete, errors occurred!
安装cmake:
去“https://cmake.org/download/”网址下载cmake二进制包,如图38所示。
图38 下载cmake二进制包
# 卸载cmake
apt remove -y cmake
cd ..
# github下载地址:
wget https://github.com/Kitware/CMake/releases/download/v3.31.7/cmake-3.31.7-linux-x86_64.tar.gz
# 国内下载地址:
wget https://cmake.org/files/v3.31/cmake-3.31.7-linux-x86_64.tar.gz
tar xf cmake-3.31.7-linux-x86_64.tar.gz -C /usr/local/
ln -s /usr/local/cmake-3.31.7-linux-x86_64/bin/cmake /usr/bin/
root@ubuntu1804:/usr/local/src# cmake --version
cmake version 3.31.7
CMake suite maintained and supported by Kitware (kitware.com/cmake).
再次进入mysql包解压的目录:
cd mysql-8.0.42/
继续执行cmake:
# 再次执行cmake之前先删除“CMakeCache.txt”文件
rm -f CMakeCache.txt
cmake \
-DCMAKE_INSTALL_PREFIX=/apps/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/apps/mysql \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/mysql/ \
-DWITH_BOOST=/usr/local/src/mysql-8.0.42/boost/boost_1_77_0/ \
-DFORCE_INSOURCE_BUILD=1 \
-DWITH_SYSTEMD=1
...
CMake Warning:
No source or binary directory provided. Both will be assumed to be the
same as the current working directory, but note that this warning will
become a fatal error in future CMake releases.
-- Running cmake version 3.31.7
-- Found Git: /usr/bin/git (found version "2.17.1")
-- Looking for gcc-8 on Ubuntu 18.04
CMake Warning at CMakeLists.txt:440 (MESSAGE):
Could not find gcc-8
CMake Error at CMakeLists.txt:441 (MESSAGE):
Please do 'apt install gcc-8 g++-8' # 提示,安装gcc-8和g++-8。
or set CMAKE_C_COMPILER and CMAKE_CXX_COMPILER explicitly.
-- Configuring incomplete, errors occurred!
安装g++包:
apt install -y gcc-8 g++-8
继续执行cmake:
# 再次执行cmake之前先删除“CMakeCache.txt”文件
rm -f CMakeCache.txt
cmake \
-DCMAKE_INSTALL_PREFIX=/apps/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/apps/mysql \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/mysql/ \
-DWITH_BOOST=/usr/local/src/mysql-8.0.42/boost/boost_1_77_0/ \
-DFORCE_INSOURCE_BUILD=1 \
-DWITH_SYSTEMD=1
...
Not a supported openssl version in WITH_SSL=system.
Make sure you have specified a supported SSL version.
Valid options are :
openssl[0-9]+ (use alternative system library)
yes (synonym for system)
</path/to/custom/openssl/installation>
CMake Error at cmake/ssl.cmake:84 (MESSAGE):
Please install the appropriate openssl developer package. # 提示,请安装相应的 openssl 开发人员软件包。
Call Stack (most recent call first):
cmake/ssl.cmake:380 (FATAL_SSL_NOT_FOUND_ERROR)
CMakeLists.txt:1826 (MYSQL_CHECK_SSL)
-- Configuring incomplete, errors occurred!
安装libssl-dev包:
apt install -y libssl-dev
继续执行cmake:
# 再次执行cmake之前先删除“CMakeCache.txt”文件
rm -f CMakeCache.txt
cmake \
-DCMAKE_INSTALL_PREFIX=/apps/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/apps/mysql \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/mysql/ \
-DWITH_BOOST=/usr/local/src/mysql-8.0.42/boost/boost_1_77_0/ \
-DFORCE_INSOURCE_BUILD=1 \
-DWITH_SYSTEMD=1
...
CMake Error at cmake/readline.cmake:93 (MESSAGE):
Curses library not found. Please install appropriate package,
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。
Call Stack (most recent call first):
cmake/readline.cmake:127 (FIND_CURSES)
cmake/readline.cmake:221 (MYSQL_USE_BUNDLED_EDITLINE)
CMakeLists.txt:1930 (MYSQL_CHECK_EDITLINE)
-- Configuring incomplete, errors occurred!
安装libncurses5-dev包:
apt install -y libncurses5-dev
继续执行cmake:
# 再次执行cmake之前先删除“CMakeCache.txt”文件
rm -f CMakeCache.txt
cmake \
-DCMAKE_INSTALL_PREFIX=/apps/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/apps/mysql \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/mysql/ \
-DWITH_BOOST=/usr/local/src/mysql-8.0.42/boost/boost_1_77_0/ \
-DFORCE_INSOURCE_BUILD=1 \
-DWITH_SYSTEMD=1
...
CMake Warning at cmake/pkg-config.cmake:30 (MESSAGE):
Cannot find pkg-config. You need to install the required package: # 提示,找不到 pkg-config。您需要安装所需的软件包:
Debian/Ubuntu: apt install pkg-config
RedHat/Fedora/Oracle Linux: yum install pkg-config
SuSE: zypper install pkg-config
Call Stack (most recent call first):
cmake/rpc.cmake:62 (MYSQL_CHECK_PKGCONFIG)
CMakeLists.txt:2066 (MYSQL_CHECK_RPC)
CMake Error at /usr/local/cmake-3.31.7-linux-x86_64/share/cmake-3.31/Modules/FindPackageHandleStandardArgs.cmake:233 (message):
Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
Call Stack (most recent call first):
/usr/local/cmake-3.31.7-linux-x86_64/share/cmake-3.31/Modules/FindPackageHandleStandardArgs.cmake:603 (_FPHSA_FAILURE_MESSAGE)
/usr/local/cmake-3.31.7-linux-x86_64/share/cmake-3.31/Modules/FindPkgConfig.cmake:114 (find_package_handle_standard_args)
cmake/pkg-config.cmake:37 (FIND_PACKAGE)
cmake/rpc.cmake:62 (MYSQL_CHECK_PKGCONFIG)
CMakeLists.txt:2066 (MYSQL_CHECK_RPC)
-- Configuring incomplete, errors occurred!
安装pkg-config包:
apt install -y pkg-config
继续执行cmake:
# 再次执行cmake之前先删除“CMakeCache.txt”文件
rm -f CMakeCache.txt
cmake \
-DCMAKE_INSTALL_PREFIX=/apps/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/apps/mysql \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/mysql/ \
-DWITH_BOOST=/usr/local/src/mysql-8.0.42/boost/boost_1_77_0/ \
-DFORCE_INSOURCE_BUILD=1 \
-DWITH_SYSTEMD=1
...
-- Configuring done (22.4s)
-- Generating done (3.6s)
-- Build files have been written to: /usr/local/src/mysql-8.0.42
执行make:
make -j $(nproc) && make install
总结编译过程:
# 安装依赖包
apt update
apt install -y gcc-8 g++-8 libssl-dev libncurses5-dev pkg-config
# 安装cmake
wget https://github.com/Kitware/CMake/releases/download/v3.31.7/cmake-3.31.7-linux-x86_64.tar.gz
tar xf cmake-3.31.7-linux-x86_64.tar.gz -C /usr/local/
ln -s /usr/local/cmake-3.31.7-linux-x86_64/bin/cmake /usr/bin/
# 进入mysql包解压的目录
cd mysql-8.0.42/
# 执行cmake
cmake \
-DCMAKE_INSTALL_PREFIX=/apps/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/apps/mysql \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/mysql/ \
-DWITH_BOOST=/usr/local/src/mysql-8.0.42/boost/boost_1_77_0/ \
-DFORCE_INSOURCE_BUILD=1 \
-DWITH_SYSTEMD=1
# 执行make
make -j $(nproc) && make install
进入mysql包解压的目录:
cd mysql-8.0.42/
安装cmake包:
apt update
apt install -y cmake
执行cmake:
cmake \
-DCMAKE_INSTALL_PREFIX=/apps/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/apps/mysql \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/mysql/ \
-DWITH_BOOST=/usr/local/src/mysql-8.0.42/boost/boost_1_77_0/ \
-DFORCE_INSOURCE_BUILD=1 \
-DWITH_SYSTEMD=1
...
CMake Error at CMakeLists.txt:585 (PROJECT):
No CMAKE_CXX_COMPILER could be found.
Tell CMake where to find the compiler by setting either the environment
variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
to the compiler, or to the compiler name if it is in the PATH. # 通过设置环境变量 “CXX” 或 CMake 缓存条目CMAKE_CXX_COMPILER完整路径添加到编译器,或者添加到编译器名称(如果它在 PATH 中),需要安装g++。
-- Configuring incomplete, errors occurred!
安装g++包:
apt install -y g++
继续执行cmake:
# 再次执行cmake之前先删除“CMakeCache.txt”文件
rm -f CMakeCache.txt
cmake \
-DCMAKE_INSTALL_PREFIX=/apps/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/apps/mysql \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/mysql/ \
-DWITH_BOOST=/usr/local/src/mysql-8.0.42/boost/boost_1_77_0/ \
-DFORCE_INSOURCE_BUILD=1 \
-DWITH_SYSTEMD=1
...
CMake Error at cmake/ssl.cmake:84 (MESSAGE):
Please install the appropriate openssl developer package. # 提示,请安装相应的 openssl 开发人员软件包。
Call Stack (most recent call first):
cmake/ssl.cmake:380 (FATAL_SSL_NOT_FOUND_ERROR)
CMakeLists.txt:1826 (MYSQL_CHECK_SSL)
-- Configuring incomplete, errors occurred!
安装libssl-dev包:
apt install -y libssl-dev
继续执行cmake:
# 再次执行cmake之前先删除“CMakeCache.txt”文件
rm -f CMakeCache.txt
cmake \
-DCMAKE_INSTALL_PREFIX=/apps/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/apps/mysql \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/mysql/ \
-DWITH_BOOST=/usr/local/src/mysql-8.0.42/boost/boost_1_77_0/ \
-DFORCE_INSOURCE_BUILD=1 \
-DWITH_SYSTEMD=1
...
CMake Error at cmake/readline.cmake:93 (MESSAGE):
Curses library not found. Please install appropriate package,
remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel. d 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。
Call Stack (most recent call first):
cmake/readline.cmake:127 (FIND_CURSES)
cmake/readline.cmake:221 (MYSQL_USE_BUNDLED_EDITLINE)
CMakeLists.txt:1930 (MYSQL_CHECK_EDITLINE)
-- Configuring incomplete, errors occurred!
安装libncurses5-dev包:
apt install -y libncurses5-dev
继续执行cmake:
# 再次执行cmake之前先删除“CMakeCache.txt”文件
rm -f CMakeCache.txt
cmake \
-DCMAKE_INSTALL_PREFIX=/apps/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/apps/mysql \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/mysql/ \
-DWITH_BOOST=/usr/local/src/mysql-8.0.42/boost/boost_1_77_0/ \
-DFORCE_INSOURCE_BUILD=1 \
-DWITH_SYSTEMD=1
...
CMake Warning at cmake/pkg-config.cmake:30 (MESSAGE):
Cannot find pkg-config. You need to install the required package: # 找不到 pkg-config。您需要安装所需的软件包:
Debian/Ubuntu: apt install pkg-config
RedHat/Fedora/Oracle Linux: yum install pkg-config
SuSE: zypper install pkg-config
Call Stack (most recent call first):
cmake/rpc.cmake:62 (MYSQL_CHECK_PKGCONFIG)
CMakeLists.txt:2066 (MYSQL_CHECK_RPC)
CMake Error at /usr/share/cmake-3.31/Modules/FindPackageHandleStandardArgs.cmake:233 (message):
Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
Call Stack (most recent call first):
/usr/share/cmake-3.31/Modules/FindPackageHandleStandardArgs.cmake:603 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.31/Modules/FindPkgConfig.cmake:114 (find_package_handle_standard_args)
cmake/pkg-config.cmake:37 (FIND_PACKAGE)
cmake/rpc.cmake:62 (MYSQL_CHECK_PKGCONFIG)
CMakeLists.txt:2066 (MYSQL_CHECK_RPC)
-- Configuring incomplete, errors occurred!
安装pkg-config包:
apt install -y pkg-config
继续执行cmake:
# 再次执行cmake之前先删除“CMakeCache.txt”文件
rm -f CMakeCache.txt
cmake \
-DCMAKE_INSTALL_PREFIX=/apps/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/apps/mysql \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/mysql/ \
-DWITH_BOOST=/usr/local/src/mysql-8.0.42/boost/boost_1_77_0/ \
-DFORCE_INSOURCE_BUILD=1 \
-DWITH_SYSTEMD=1
...
-- Package 'systemd', required by 'virtual:world', not found
CMake Error at cmake/systemd.cmake:60 (MESSAGE):
Unable to detect systemd support on build machine, Aborting cmake build. # 无法在生成计算机上检测到systemd支持,正在中止cmake生成。
Call Stack (most recent call first):
cmake/systemd.cmake:80 (MYSQL_CHECK_SYSTEMD)
CMakeLists.txt:1597 (INCLUDE)
-- Configuring incomplete, errors occurred!
在编译参数里面删除下面内容:
-DWITH_SYSTEMD=1
继续执行cmake:
# 再次执行cmake之前先删除“CMakeCache.txt”文件
rm -f CMakeCache.txt
cmake \
-DCMAKE_INSTALL_PREFIX=/apps/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/apps/mysql \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/mysql/ \
-DWITH_BOOST=/usr/local/src/mysql-8.0.42/boost/boost_1_77_0/ \
-DFORCE_INSOURCE_BUILD=1
...
CMake Warning at cmake/rpc.cmake:41 (MESSAGE):
Cannot find RPC development libraries. You need to install the required
packages:
Debian/Ubuntu: apt install libtirpc-dev
RedHat/Fedora/Oracle Linux: yum install libtirpc-devel
SuSE: zypper install glibc-devel
Call Stack (most recent call first):
cmake/rpc.cmake:112 (WARN_MISSING_SYSTEM_TIRPC)
CMakeLists.txt:2066 (MYSQL_CHECK_RPC)
CMake Error at cmake/rpc.cmake:113 (MESSAGE):
Could not find rpc/rpc.h in /usr/include or /usr/include/tirpc
Call Stack (most recent call first):
CMakeLists.txt:2066 (MYSQL_CHECK_RPC)
-- Configuring incomplete, errors occurred!
安装libtirpc-dev包:
apt install -y libtirpc-dev
继续执行cmake:
# 再次执行cmake之前先删除“CMakeCache.txt”文件
rm -f CMakeCache.txt
cmake \
-DCMAKE_INSTALL_PREFIX=/apps/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/apps/mysql \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/mysql/ \
-DWITH_BOOST=/usr/local/src/mysql-8.0.42/boost/boost_1_77_0/ \
-DFORCE_INSOURCE_BUILD=1
...
-- Configuring done (47.2s)
-- Generating done (4.0s)
CMake Warning:
Manually-specified variables were not used by the project:
SYSTEMD_PID_DIR
-- Build files have been written to: /usr/local/src/mysql-8.0.42
执行make:
make -j $(nproc) && make install
总结编译过程:
# 安装依赖包
apt update
apt install -y cmake g++ libssl-dev libncurses5-dev pkg-config libtirpc-dev
# 进入mysql包解压的目录
cd mysql-8.0.42/
# 执行cmake
cmake \
-DCMAKE_INSTALL_PREFIX=/apps/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/apps/mysql \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/mysql/ \
-DWITH_BOOST=/usr/local/src/mysql-8.0.42/boost/boost_1_77_0/ \
-DFORCE_INSOURCE_BUILD=1
# 执行make
make -j $(nproc) && make install
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。