#! /bin/bash # Rocky9 compatible . /usr/src/k_framework/main.sh VERSION="1.1.9" SCRIPT_NAME="Percona Install" k_start # perl-DateTime for calls partitioning plugin (used in MOR X17 as of 2022-02-23) rpm -qa | grep perl-DateTime &> /dev/null if [ "$?" == "1" ]; then report "Installing perl-DateTime" 3 yum -y install perl-DateTime else report "perl-DateTime already installed" 0 fi # remove old percona version if necessary if [[ -f /usr/bin/pt-online-schema-change ]]; then PERCONA_VER=`/usr/bin/pt-online-schema-change --version | awk '{print $2}'` if [[ $PERCONA_VER != '3.3.1' ]]; then report "Percona v$PERCONA_VER too old. Need to update." 2 report "Removing old Percona..." 3 yum -y remove percona-toolkit if [[ ! -f /usr/bin/pt-online-schema-change ]]; then report "Old Percona v$PERCONA_VER removed" 0 else report "Failed to remove old Percona v$PERCONA_VER" 1 k_exit 1 fi fi fi # install Percona if necessary if [[ ! -f /usr/bin/pt-online-schema-change ]]; then report "Percona Toolkit not detected, will install now" 3 # Install perl-PermReadKey on Centos 6 (if missing) k_detect_os if (( centos_version == 6 )); then rpm -qa | grep perl-TermReadKey &> /dev/null if [ "$?" == "1" ]; then report "Installing perl-TermReadKey" 3 cd /usr/src k_download_packet perl-TermReadKey-2.30-13.el6.x86_64.rpm rpm -i /usr/src/perl-TermReadKey-2.30-13.el6.x86_64.rpm fi fi cd /usr/src k_download_packet percona-toolkit-3.3.1-1.el7.x86_64.rpm quiet yum -y install --nogpgcheck percona-toolkit-3.3.1-1.el7.x86_64.rpm if [[ ! -f /usr/bin/pt-online-schema-change ]]; then report "Percona Toolkit installation failed" 1 k_exit 1 fi fi # check Percona version PERCONA_VER=`/usr/bin/pt-online-schema-change --version | awk '{print $2}'` if [[ $PERCONA_VER != '3.3.1' ]]; then report "Percona v$PERCONA_VER is wrong, should be 3.3.1. Fix manually" 1 k_exit 1 else report "Percona is installed. Version: $PERCONA_VER" 0 fi k_exit $EXIT_CODE