d1af33f17b
* MySQL 5.7 and MySQL 8.0 need different percona-xtrabackup package version. Added Percona XtraBackup 8 support for MySQL 8.x backup and restore. * Construct different backup container image names for MySQL 5.7 and MySQL 8.0 based on the default option value. * Two docker images are uploaded for backup/restore: openstacktrove/db-backup-mysql5.7:1.0.0 and openstacktrove/db-backup-mysql8.0:1.0.0. Trove guest agent can automatically choose the approriate one based on the datastore version. * Added option "secure-file-priv=NULL" in MySQL config template to fix https://github.com/docker-library/mysql/issues/541. * Stop using IDENTIFIED BY in GRANT clause (also REVOKE). Starting with MySQL 8 creating a user implicitly using the GRANT command is not supported. Story: #2008275 Task: #41143 Change-Id: Ibdec63324b1b39ba9b8a38dbe529da17bbb06767
42 lines
1.4 KiB
Bash
Executable File
42 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -e
|
|
|
|
export APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1
|
|
APTOPTS="-y -qq --no-install-recommends --allow-unauthenticated"
|
|
|
|
case "$1" in
|
|
"mysql5.7")
|
|
curl -sSL https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb -o percona-release.deb
|
|
dpkg -i percona-release.deb
|
|
percona-release enable-only tools release
|
|
apt-get update
|
|
apt-get install $APTOPTS percona-xtrabackup-24
|
|
rm -f percona-release.deb
|
|
;;
|
|
"mysql8.0")
|
|
curl -sSL https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb -o percona-release.deb
|
|
dpkg -i percona-release.deb
|
|
percona-release enable-only tools release
|
|
apt-get update
|
|
apt-get install $APTOPTS percona-xtrabackup-80
|
|
rm -f percona-release.deb
|
|
;;
|
|
"mariadb")
|
|
apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
|
|
add-apt-repository "deb [arch=amd64] http://mirror2.hs-esslingen.de/mariadb/repo/10.4/ubuntu $(lsb_release -cs) main"
|
|
apt-get install $APTOPTS mariadb-backup
|
|
;;
|
|
"postgresql")
|
|
apt-key adv --fetch-keys 'https://www.postgresql.org/media/keys/ACCC4CF8.asc'
|
|
add-apt-repository "deb [arch=amd64] http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main"
|
|
apt-get install $APTOPTS postgresql-client-12
|
|
;;
|
|
*)
|
|
echo "datastore $1 not supported"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
apt-get clean
|
|
rm -rf /var/lib/apt/lists/*
|