编译和安装Percona过程包括下载源码和依赖库、解压、源码修复、编译和安装等步骤,是手动从源代码构建Percona数据库的详细流程。下文以编译和安装Percona 8.0.25版本为例进行说明。
下载地址请参见环境要求。
1 2 3 |
cd /home tar xvf boost_1_73_0.tar.gz tar zxvf percona-server-8.0.25-15.tar.gz |
1
|
cd /home/percona-server-8.0.15-6 |
1
|
vi storage/innobase/sync/sync0rw.cc
|
bool recursive; os_thread_id_t writer_thread; if (!pass) { recursive = lock->recursive; os_rmb; writer_thread = lock->writer_thread; }
1
|
cd /home/percona-server-8.0.25-15 |
1
|
cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_CONFIG=mysql_release -DFEATURE_SET=community -DWITH_BOOST=/home/boost_1_73_0 -DCMAKE_INSTALL_PREFIX=/usr/local/percona -DMYSQL_DATADIR=/data/percona -DSYSCONFDIR=/etc -DWITHOUT_TOKUDB=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LOBWRAP=0 -DMYSQL_UNIX_ADDR=/data/percona/run/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DFORCE_INSOURCE_BUILD=1 |
如果需要在openEuler 22.03操作系统安装Percona 8.0.15版本,则执行如下cmake命令:
cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_CONFIG=mysql_release -DFEATURE_SET=community -DWITH_BOOST=/home/boost_1_68_0 -DCMAKE_INSTALL_PREFIX=/usr/local/percona -DMYSQL_DATADIR=/data/percona -DSYSCONFDIR=/etc -DWITHOUT_TOKUDB=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LOBWRAP=0 -DMYSQL_UNIX_ADDR=/data/percona/run/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DFORCE_INSOURCE_BUILD=1 -DHAVE_CLOCK_GETTIME=1 -DCMAKE_C_COMPILER=/opt/tools/gcc/gcc-7.3.0/bin/gcc -DCMAKE_CXX_COMPILER=/opt/tools/gcc/gcc-7.3.0/bin/g++
在编译安装过程中,编译路径需要根据实际情况而定,表1为对编译安装的关键路径的解释。若编译过程中提示“Could not find rpcgen”,请参见openEuler系统下编译MySQL过程中,执行CMake命令时提示Could not find rpcgen的解决方法。
参数 |
说明 |
---|---|
DWITH_BOOST |
解压的Percona安装压缩包中boost_1_73_0文件夹所在路径。 例如,本文解压在“/home”目录下,则路径为:“/home/boost_1_73_0”。 |
DCMAKE_INSTALL_PREFIX |
用于指定软件的安装路径。 本次安装路径为:“/usr/local/percona”。 |
DMYSQL_DATADIR |
创建数据库时,数据文件存放的路径。 本次安装路径为:“/data/percona”。 |
DCMAKE_C_COMPILER |
指定GCC编译器安装路径,如果安装GCC时没有指定路径,一般默认存放在“/usr/local/bin”目录下。 说明中的安装路径为:“/opt/tools/gcc/gcc-7.3.0/bin/gcc”,即4.4.12中指定的安装路径。 |
DCMAKE_CXX_COMPILER |
指定g++编译器安装路径,如果安装GCC时没有指定路径,一般默认存放在“/usr/local/bin”目录下。 说明中的安装路径为:“/opt/tools/gcc/gcc-7.3.0/bin/g++”,即4.4.12中指定的安装路径。 |
1
|
make -j 96 |
“-j 96”参数充分利用多核CPU优势,加快编译速度,参数“-j”后数字为CPU核数,可用cat /proc/cpuinfo | grep processor | wc -l进行查看,此数值应小于或等于CPU核数。
1
|
make install
|