Files
runner-images/images/linux/scripts/installers/mysql.sh
Darii Nurgaleev de175a01f6 Update mysql to version 8 on Ubuntu 20.04 (#621)
* mysql update to version 8

* changed package number and install dev tools

* added latest version parser

* removed sed for whitespaces - changed to grep.

* removed unnessacary cut from script.

* removed unnesscary grep.

* added definition for ubuntus.

* root password section moved from if

Co-authored-by: Dariy.Nurgaleev <d.nurgaleev@trueengineering.ru>
2020-06-25 12:21:08 +03:00

64 lines
2.3 KiB
Bash

#!/bin/bash
################################################################################
## File: mysql.sh
## Desc: Installs MySQL Client
################################################################################
## Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
export ACCEPT_EULA=Y
if isUbuntu16 || isUbuntu18 ; then
apt-get install mysql-client -y
fi
if isUbuntu20 ; then
# Install mysql 8 for Ubuntu 20.
debconf-set-selections <<< 'mysql-apt-config mysql-apt-config/select-server select mysql-8.0'
package_version=$(curl https://dev.mysql.com/downloads/repo/apt/ 2> /dev/null | grep "\.deb" | awk -F "[()]" '{print $2}')
wget https://dev.mysql.com/get/$package_version
dpkg -i $package_version
apt update
fi
# Mysql setting up root password
MYSQL_ROOT_PASSWORD=root
echo "mysql-server mysql-server/root_password password $MYSQL_ROOT_PASSWORD" | debconf-set-selections
echo "mysql-server mysql-server/root_password_again password $MYSQL_ROOT_PASSWORD" | debconf-set-selections
# Install MySQL Server
apt-get install -y mysql-server
#Install MySQL Dev tools
apt install libmysqlclient-dev -y
# Install MS SQL Server client tools (https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup-tools?view=sql-server-2017)
apt-get install -y mssql-tools unixodbc-dev
apt-get -f install
ln -s /opt/mssql-tools/bin/* /usr/local/bin/
# Run tests to determine that the software installed as expected
echo "Testing to make sure that script performed as expected, and basic scenarios work"
if ! command -v mysql; then
echo "mysql was not installed"
exit 1
fi
set -e
mysql -vvv -e 'CREATE DATABASE smoke_test' -uroot -proot
mysql -vvv -e 'DROP DATABASE smoke_test' -uroot -proot
set +e
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "MySQL ($(mysql --version))"
DocumentInstalledItem "MySQL Server (user:root password:root)"
DocumentInstalledItem "MS SQL Server Client Tools"
DocumentInstalledItem "MySQL service is disabled by default. Use the following command as a part of your job to start the service: 'sudo systemctl start mysql.service'"
# Disable mysql.service
systemctl is-active --quiet mysql.service && systemctl stop mysql.service
systemctl disable mysql.service