Untitled

 avatar
unknown
plain_text
2 years ago
3.4 kB
5
Indexable
#!/bin/bash
echo ========================================== 
echo MySQL Server - Installation - v.8.0.32 
echo ========================================== 

fromVers="7_0_1"
toVers="7_1_0"

mainPath="/home/pi/"
boxBackupsDir="Cash360_IMS_Backup/"
backupDir="Cash360_IMS_${fromVers}_Backup"

errorLog="Error_${fromVers}_to_${toVers}.log"

correctVer='8.0.32'
oldVer=$(mysql -V)
patter="[1-9]\.[0-9]+\.[0-9]+"

mkdir -p "${mainPath}${boxBackupsDir}${backupDir}"

if [[ $oldVer =~ $patter ]]; then
	oldVer=${BASH_REMATCH[0]}
fi


#echo "$oldVer"
#echo "$correctVer"

if [ "$oldVer" == "$correctVer" ]; then
	echo ========================================== 
	echo The correct version of MySQL is already installed! 
else

	echo ==========================================
	if mysql -V &> /dev/null 
	then
		echo MySql version "$oldVer" needs to be replaced by MySql 8.0.32
		echo Dumping all databases to DatabaseDump.sql

		mysqldump -u root -pocs*360 --databases --routines --triggers cashoffice_ims > "${mainPath}${boxBackupsDir}${backupDir}/cashoffice_ims_dum_${fromVers}.sql" 2>> "${mainPath}${boxBackupsDir}${errorLog}"

		echo Creating DatabaseDump.sql field
		echo Uninstall Mysql

		service mysql stop
		DEBIAN_FRONTEND=noninteractive apt-get -y --force-yes remove --purge -qq mysql-server-5.7 mysql-client-5.7 mysql-common mysql-server-core-5.7 mysql-client-core-5.7
		rm -rf /etc/mysql /var/lib/mysql /var/log/mysql
		rm /etc/apt/sources.list.d/mysql.list
		apt-get update

		echo Finish uninstall Mysql
	fi

	export DEBIAN_FRONTEND="noninteractive"
	debconf-set-selections <<< 'mysql-apt-config mysql-apt-config/select-preview select Disabled'
	debconf-set-selections <<< 'mysql-apt-config mysql-apt-config/select-server select mysql-8.0'
	debconf-set-selections <<< 'mysql-apt-config mysql-apt-config/select-tools select Enabled'
	debconf-set-selections <<< 'mysql-apt-config mysql-apt-config/select-product select Ok'
	debconf-set-selections <<< 'mysql-apt-config mysql-apt-config/select-connector-python select none'
	debconf-set-selections <<< 'mysql-apt-config mysql-apt-config/select-utilities select mysql-utilities'
	debconf-set-selections <<< 'mysql-apt-config mysql-apt-config/select-workbench select none'
	debconf-set-selections <<< "mysql-server mysql-server/root_password password ocs*360"
	debconf-set-selections <<< "mysql-server mysql-server/root_password_again password ocs*360"
	debconf-set-selections <<< 'mysql-community-server mysql-community-server/root-pass password ocs*360'
	debconf-set-selections <<< 'mysql-community-server mysql-community-server/re-root-pass password ocs*360'
	wget https://dev.mysql.com/get/mysql-apt-config_0.8.19-1_all.deb
	sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 467B942D3A79BD29
	dpkg -i mysql-apt-config_0.8.19-1_all.deb
	apt-get update
	apt install -y -f mysql-client=8.0.32* mysql-community-server=8.0.32* mysql-server=8.0.32*

	echo Installed MySql 8.0
	if mysql -V &> /dev/null 
	then
		echo 'Please wait backed up data loading...'
		mysql -uroot -pocs*360 < ${mainPath}${boxBackupsDir}${backupDir}/cashoffice_ims_dum_${fromVers}.sql
	fi
	
	if mysql -V &> /dev/null 
	then
		echo MySQL8.0.32 Installation Completed! 
	else
		echo Installation Fail. Check Logs
	fi
	
fi


echo ==========================================
read -rep $"Press any key to continue..." -n1 -s

Editor is loading...