Outsourced mysql related steps to own seq

This commit is contained in:
2020-01-05 15:02:53 +01:00
parent da30fc84b8
commit 8d303bbcbc
3 changed files with 206 additions and 278 deletions

View File

@@ -2,18 +2,15 @@
serverName="nginx"
serverPackages="nginx"
databaseName="mariadb"
databasePackages="mariadb-server mariadb-client"
phpVersion="7.2"
phpName="php$phpVersion"
phpPackages="${phpName}-fpm ${phpName}-json ${phpName}-mysql ${phpName}-curl ${phpName}-intl ${phpName}-gd ${phpName}-zip ${phpName}-xml ${phpName}-mbstring php-imagick php-apcu"
step_1_info() { echo -e "Installation of $serverName and ${databaseName} packages:\n $serverPackages $databasePackages"; }
step_1_info() { echo "Installation of $serverName packages:"
echoinfo "$serverPackages"; }
step_1_alias() { ALIAS="install"; }
step_1() {
exe apt update
exe apt install $databasePackages
endReturn -o $? "Database package installation error"
exe apt install $serverPackages
endReturn -o $? "Server package installation error"
}
@@ -39,7 +36,6 @@ step_2() {
exe service nginx restart && echo "ok"
endReturn -o $? "Nginx error during startup"
}
snippetLetsencryptLoc="/etc/nginx/snippets/letsencrypt.conf"
siteLetsencryptWww="/var/www/letsencrypt"
snippetLetsencrypt="\
@@ -54,38 +50,12 @@ siteDefaultIp4="server {
include ${snippetLetsencryptLoc};
}"
step_3_info() { echo "Secure mariadb installation"; }
step_3_info() { echo "Installation of $phpName packages:"
echoinfo "$phpPackages"; }
step_3() {
exe mysql_secure_installation
}
step_4_info() { echo "Mariadb configuration"; }
step_4() {
addConf -c "$mariadbConfig" "$mariadbConfigLoc"
echo -n " [I] Restarting mysql ... "
exe service mysql restart
endReturn -o $? "Mariadb error during startup"
echo "ok"
}
mariadbConfigLoc="/etc/mysql/mariadb.conf.d/90-myconfig.cnf"
mariadbConfig="\
[mysqld]
innodb_large_prefix=on
innodb_file_format=barracuda
innodb_file_per_table=true
lower_case_table_names=0
#innodb_force_recovery=6"
step_5_info() { echo -e "Installation of $phpName packages:\n $phpPackages"; }
step_5() {
exe apt install $phpPackages
endReturn -o $? "$phpName error during startup"
}
phpFpmConfigLocation="/etc/php/${phpVersion}/fpm/conf.d/90-custom_pi.ini"
phpFpmConfig="\
post_max_size=64M
@@ -107,8 +77,8 @@ phpCliConfigLocation="/etc/php/${phpVersion}/cli/conf.d/90-custom_pi.ini"
phpCliConfig="\
date.timezone = Europe/Berlin"
step_6_info() { echo -e "Configuration of ${phpName} fpm and cli\n"; }
step_6() {
step_4_info() { echo -e "Configuration of ${phpName} fpm and cli\n"; }
step_4() {
addConf -c "$phpFpmConfig" "$phpFpmConfigLocation"
addConf -c "$phpCliConfig" "$phpCliConfigLocation"
@@ -118,75 +88,5 @@ step_6() {
echo "ok"
}
step_10_info() { echo -e "Create mysql database without specific characterset\n"; }
step_10_alias() { ALIAS="createdb"; }
step_10() {
local mysqlDatabase
local mysqlUser
local mysqlPass
echo "Existing mysql databases:"
exe mysql -u root -e 'SHOW DATABASES;'
read -p "Enter database name: " mysqlDatabase
endCheckEmpty mysqlDatabase "database name"
exe mysql -u root -e 'CREATE DATABASE '$mysqlDatabase';'
saveReturn $?
endReturn
echo "Existing mysql user:"
exe mysql -u root -e 'SELECT User, Host FROM mysql.user;'
read -p "Enter mysql user name: " mysqlUser
endCheckEmpty mysqlDatabase "user name"
read -p "Enter mysql user password: " mysqlPass
endCheckEmpty mysqlPass "password"
exe mysql -u root -e 'CREATE USER '"'"$mysqlUser"'"'@'"'"'localhost'"'"' IDENTIFIED BY '"'"$mysqlPass"'"';'
saveReturn $?
endReturn
exe mysql -u root -e 'GRANT ALL PRIVILEGES ON '$mysqlDatabase'.* TO '"'"$mysqlUser"'"'@'"'"'localhost'"'"';'
saveReturn $?
endReturn
exe mysql -u root -e 'FLUSH PRIVILEGES;'
}
step_12_info() { echo -e "Create mysql database with characterset utf8mb4\n"; }
step_12_alias() { ALIAS="createdb_utf8mb4"; }
step_12() {
local mysqlDatabase
local mysqlUser
local mysqlPass
echo "Existing mysql databases:"
exe mysql -u root -e 'SHOW DATABASES;'
read -p "Enter database name: " mysqlDatabase
endCheckEmpty mysqlDatabase "database name"
# it is recommended NOT to use utf8mb4_general_ci anymore
exe mysql -u root -e 'CREATE DATABASE '$mysqlDatabase' CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;'
saveReturn $?
endReturn
echo "Existing mysql user:"
exe mysql -u root -e 'SELECT User, Host FROM mysql.user;'
read -p "Enter mysql user name: " mysqlUser
endCheckEmpty mysqlDatabase "user name"
read -p "Enter mysql user password: " mysqlPass
endCheckEmpty mysqlPass "password"
exe mysql -u root -e 'CREATE USER '"'"$mysqlUser"'"'@'"'"'localhost'"'"' IDENTIFIED BY '"'"$mysqlPass"'"';'
saveReturn $?
endReturn
exe mysql -u root -e 'GRANT ALL PRIVILEGES ON '$mysqlDatabase'.* TO '"'"$mysqlUser"'"'@'"'"'localhost'"'"';'
saveReturn $?
endReturn
exe mysql -u root -e 'FLUSH PRIVILEGES;'
}
VERSION_SEQREV=7
. sequencer.sh
VERSION_SEQREV=9
. /usr/local/bin/sequencer.sh