编译安装xtrabackup 8.0
源码编译安装xtrabackup 8.0
因为 xtrabackup 8.0.24 相关备份工具一直没有出来,但又看到 GitHub 上相关代码已提交,故尝试下载源码自行编译
OS:CentOS 7.9
MySQL:8.0.24
1、环境准备
- 为了从源代码构建 Percona XtraBackup v8.0,需要使用 cmake版本3
yum install -y cmake3
cmake3 --version
- 安装其它依赖项
yum install -y cmake openssl-devel libaio libaio-devel automake autoconf bison libtool ncurses-devel libgcrypt-devel libev-devel libcurl-devel zlib-devel vim-common
- Percona XtraBackup 需要 GCC 5.3 或更高版本。可以看到,CentOS 7 上通过 yum 安装的 GCC 不满足编译的要求
yum install -y gcc gcc-c++
gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
- 手动编译 GCC,耗时巨长,放弃
https://www.cnblogs.com/cyhbyw/p/12315881.html
- CentOS7.7快速升级gcc到8.x版本
采用CentOS的一个第三方库SCL(软件选集),SCL可以在不覆盖原系统软件包的情况下安装新的软件包与老软件包共存并且可以使用scl命令切换,不过也有个缺点就是只支持64位的。
确定当前gcc版本,执行命令:
gcc --version
gcc4.8快速升级方法如下:
1、安装scl源:
yum install centos-release-scl scl-utils-build -y
2、列出scl可用源:
yum list all --enablerepo='centos-sclo-rh' | grep "devtoolset-"
3、安装8版本的gcc、gcc-c++、gdb工具链(toolchian):(要哪个版本的就把命令中的数字8改成你要的主版本号就可以了。这样升级到的是最新的版本。例如8升级到的是8.3.1而不是8.2。)
yum install devtoolset-8-toolchain -y
scl enable devtoolset-8 bash #启动gcc8
gcc --version #查看版本号
4、查看 GCC 软件位置
[root@mgr02 ~]# which gcc
/opt/rh/devtoolset-8/root/usr/bin/gcc
[root@mgr02 ~]# which g++
/opt/rh/devtoolset-8/root/usr/bin/g++
2、下载源码
- 通过
git clone
下载
git clone https://github.com/percona/percona-xtrabackup.git
cd percona-xtrabackup
git checkout 8.0
- 下载压缩包,然后传到主机上
https://codeload.github.com/percona/percona-xtrabackup/zip/refs/heads/8.0
3、解压源码包
yum install -y unzip
unzip percona-xtrabackup-8.0.zip
4、编译安装
cd percona-xtrabackup-8.0
cmake3 -DWITH_BOOST=PATH-TO-BOOST-LIBRARY -DDOWNLOAD_BOOST=ON -DBUILD_CONFIG=xtrabackup_release -DWITH_MAN_PAGES=OFF -DCMAKE_C_COMPILER=/opt/rh/devtoolset-8/root/usr/bin/gcc -DCMAKE_CXX_COMPILER=/opt/rh/devtoolset-8/root/usr/bin/g++ -DFORCE_INSOURCE_BUILD=1
make
make install
5、检查安装成功与否
[root@mgr02 ~]# /usr/local/xtrabackup/bin/xtrabackup -v
xtrabackup: recognized server arguments: --datadir=/var/lib/mysql
/usr/local/xtrabackup/bin/xtrabackup version 8.0.25-17 based on MySQL server 8.0.25 Linux (x86_64) (revision id: )
因为有悔,所以披星戴月;因为有梦,所以奋不顾身! 个人博客首发:easydb.net
微信公众号:easydb
关注我,不走丢!
因为有悔,所以披星戴月;因为有梦,所以奋不顾身!
个人博客首发:easydb.net
微信公众号:easydb
关注我,不走丢!