基于源码构建 MySQL

零、 环境

  • OS: Kylin Server V10
  • Arch: aarch64
  • MySQL release: mysql-5.7.40-Linux-aarch64
  • HW: 4c16g

一、 安装前准备

1.1 安装依赖

yum install gcc gcc-c++ cmake

1.2 下载安装包

下载带有boost的安装, 省去单独安装boost的步骤

下载链接

编译安装

2.1 解压

tar -xzvf mysql-boost-5.7.43.tar.gz

2.2 编译安装

cd mysql-5.7.43

mkdir bld && cd bld

cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DCOMPILATION_COMMENT='Mysqlma' \
-DWITH_READLINE=ON \
-DWITH_BOOST=/root/mysql-5.7.43/boost/boost_1_59_0 \
-DSYSCONFDIR=/data/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock

make && make install

三、 部署

参考另外一篇文章

四、 相关问题

4.1 RPC 相关问题

问题描述: rpc相关头文件找不到

--   Package 'libtirpc', required by 'virtual:world', not found
CMake Error at cmake/rpc.cmake:76 (MESSAGE):
Could not find rpc/rpc.h in /usr/include or /usr/include/tirpc
Call Stack (most recent call first):
rapid/plugin/group_replication/configure.cmake:60 (MYSQL_CHECK_RPC)
rapid/plugin/group_replication/CMakeLists.txt:25 (INCLUDE)

解决:
yum install libtirpc libtirpc-devel

但是在 Kylin V10 aarch64 下找不到 libtirpc-devel

只好从其他操作系统里 /usr/bin/rpc 拷贝一份