33: " ${MYSQL_SETUP_ENABLED:= " 0" } " # set to 1 to enable
44: " ${MYSQL_HOST:= " " } " # set Host of MySQL/MariaDB Server
55: " ${MYSQL_PORT:= " 3306" } " # set Port of MySQL/MariaDB Server
6- : " ${MYSQL_ROOT_PASSWORD:= " " } " # set MySQL Root Password
6+ : " ${MYSQL_ROOT_PASSWORD:= " " } " # set MySQL/MariaDB Root Password
77: " ${MYSQL_DATABASE:= " " } " # set Databasename for User
88: " ${MYSQL_USER:= " " } " # set Username
99: " ${MYSQL_PASSWORD:= " " } " # set Password for User
1010: " ${MYSQL_EXPORTER_USER:= " exporter" } " # set Exporter-Username, default: exporter
1111: " ${MYSQL_EXPORTER_PASSWORD:= " " } " # set Password for Exporter-Username
1212: " ${MYSQL_EXPORTER_MAXUSERCONNECTIONS:= " 0" } " # max connection, set to 0 for unlimited, recommended: 3
1313
14+ : " ${MARIADB_SETUP_ENABLED:= " $MYSQL_SETUP_ENABLED " } "
15+ : " ${MARIADB_HOST:= " $MYSQL_HOST " } "
16+ : " ${MARIADB_PORT:= " $MYSQL_PORT " } "
17+ : " ${MARIADB_ROOT_PASSWORD:= " $MYSQL_ROOT_PASSWORD " } "
18+ : " ${MARIADB_DATABASE:= " $MYSQL_DATABASE " } "
19+ : " ${MARIADB_USER:= " $MYSQL_USER " } "
20+ : " ${MARIADB_PASSWORD:= " $MYSQL_PASSWORD " } "
21+ : " ${MARIADB_EXPORTER_USER:= " $MYSQL_EXPORTER_USER " } "
22+ : " ${MARIADB_EXPORTER_PASSWORD:= " $MYSQL_EXPORTER_PASSWORD " } "
23+ : " ${MARIADB_EXPORTER_MAXUSERCONNECTIONS:= " $MYSQL_EXPORTER_MAXUSERCONNECTIONS " } "
24+
1425host=' %' # set '%' to allow from all host
1526options=' --skip-ssl-verify-server-cert'
1627
17- if [ " $MYSQL_SETUP_ENABLED " -eq " 1" -a -n " $MYSQL_HOST " -a -n " $MYSQL_PORT " -a -n " $MYSQL_ROOT_PASSWORD " ]; then
18- echo " >> MySQL Setup preparation on Host ${MYSQL_HOST } and Port ${MYSQL_PORT } ..."
28+ if [ " $MARIADB_SETUP_ENABLED " -eq " 1" -a -n " $MARIADB_HOST " -a -n " $MARIADB_PORT " -a -n " $MARIADB_ROOT_PASSWORD " ]; then
29+ echo " >> MySQL Setup preparation on Host ${MARIADB_HOST } and Port ${MARIADB_PORT } ..."
1930
2031 echo " >> MySQL waiting for Server ..."
21- until mariadb-admin ping -h ${MYSQL_HOST } -P ${MYSQL_PORT } -u root --password=" ${MYSQL_ROOT_PASSWORD } " ${options} --skip-verbose --silent > /dev/null 2>&1 ; do
32+ until mariadb-admin ping -h ${MARIADB_HOST } -P ${MARIADB_PORT } -u root --password=" ${MARIADB_ROOT_PASSWORD } " ${options} --skip-verbose --silent > /dev/null 2>&1 ; do
2233 sleep 2
2334 done
2435 echo " >> MySQL Server ready ..."
2536
2637 # User
27- if [ -n " $MYSQL_USER " -a -n " $MYSQL_PASSWORD " -a -n " $MYSQL_DATABASE " ]; then
28- echo " >> MySQL Database (${MYSQL_DATABASE } ) and User (${MYSQL_USER } ) ..."
29- mariadb -h ${MYSQL_HOST } -P ${MYSQL_PORT } -u root --password=" ${MYSQL_ROOT_PASSWORD } " ${options} -sNe \
30- " SELECT user FROM mysql.user WHERE user = '${MYSQL_USER } ' GROUP BY user;" \
31- | grep -q ${MYSQL_USER } \
32- || mariadb -h ${MYSQL_HOST } -P ${MYSQL_PORT } -u root --password=" ${MYSQL_ROOT_PASSWORD } " ${options} -sN << EOSQL
33- CREATE DATABASE IF NOT EXISTS ${MYSQL_DATABASE } ;
34- CREATE USER IF NOT EXISTS '${MYSQL_USER } '@'${host} ' IDENTIFIED BY '${MYSQL_PASSWORD } ';
35- GRANT ALL PRIVILEGES ON ${MYSQL_DATABASE } .* TO '${MYSQL_USER } '@'${host} ';
38+ if [ -n " $MARIADB_USER " -a -n " $MARIADB_PASSWORD " -a -n " $MARIADB_DATABASE " ]; then
39+ echo " >> MySQL Database (${MARIADB_DATABASE } ) and User (${MARIADB_USER } ) ..."
40+ mariadb -h ${MARIADB_HOST } -P ${MARIADB_PORT } -u root --password=" ${MARIADB_ROOT_PASSWORD } " ${options} -sNe \
41+ " SELECT user FROM mysql.user WHERE user = '${MARIADB_USER } ' GROUP BY user;" \
42+ | grep -q ${MARIADB_USER } \
43+ || mariadb -h ${MARIADB_HOST } -P ${MARIADB_PORT } -u root --password=" ${MARIADB_ROOT_PASSWORD } " ${options} -sN << EOSQL
44+ CREATE DATABASE IF NOT EXISTS ${MARIADB_DATABASE } ;
45+ CREATE USER IF NOT EXISTS '${MARIADB_USER } '@'${host} ' IDENTIFIED BY '${MARIADB_PASSWORD } ';
46+ GRANT ALL PRIVILEGES ON ${MARIADB_DATABASE } .* TO '${MARIADB_USER } '@'${host} ';
3647 FLUSH PRIVILEGES;
3748EOSQL
3849 else
39- echo " >> MySQL Database (${MYSQL_DATABASE } ) and User (${MYSQL_USER } ) skipped."
50+ echo " >> MySQL Database (${MARIADB_DATABASE } ) and User (${MARIADB_USER } ) skipped."
4051 fi
4152
4253 # Exporter
43- if [ -n " $MYSQL_EXPORTER_USER " -a -n " $MYSQL_EXPORTER_PASSWORD " -a -n " $MYSQL_EXPORTER_MAXUSERCONNECTIONS " ]; then
44- echo " >> MySQL Exporter-User (${MYSQL_EXPORTER_USER } ) ..."
45- mariadb -h ${MYSQL_HOST } -P ${MYSQL_PORT } -u root --password=" ${MYSQL_ROOT_PASSWORD } " ${options} -sNe \
46- " SELECT user FROM mysql.user WHERE user = '${MYSQL_EXPORTER_USER } ' GROUP BY user;" \
47- | grep -q ${MYSQL_EXPORTER_USER } \
48- || mariadb -h ${MYSQL_HOST } -P ${MYSQL_PORT } -u root --password=" ${MYSQL_ROOT_PASSWORD } " ${options} -sN << EOSQL
49- CREATE USER IF NOT EXISTS '${MYSQL_EXPORTER_USER } '@'${host} ' IDENTIFIED BY '${MYSQL_EXPORTER_PASSWORD } ' WITH MAX_USER_CONNECTIONS ${MYSQL_EXPORTER_MAXUSERCONNECTIONS } ;
50- GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO '${MYSQL_EXPORTER_USER } '@'${host} ';
54+ if [ -n " $MARIADB_EXPORTER_USER " -a -n " $MARIADB_EXPORTER_PASSWORD " -a -n " $MARIADB_EXPORTER_MAXUSERCONNECTIONS " ]; then
55+ echo " >> MySQL Exporter-User (${MARIADB_EXPORTER_USER } ) ..."
56+ mariadb -h ${MARIADB_HOST } -P ${MARIADB_PORT } -u root --password=" ${MARIADB_ROOT_PASSWORD } " ${options} -sNe \
57+ " SELECT user FROM mysql.user WHERE user = '${MARIADB_EXPORTER_USER } ' GROUP BY user;" \
58+ | grep -q ${MARIADB_EXPORTER_USER } \
59+ || mariadb -h ${MARIADB_HOST } -P ${MARIADB_PORT } -u root --password=" ${MARIADB_ROOT_PASSWORD } " ${options} -sN << EOSQL
60+ CREATE USER IF NOT EXISTS '${MARIADB_EXPORTER_USER } '@'${host} ' IDENTIFIED BY '${MARIADB_EXPORTER_PASSWORD } ' WITH MAX_USER_CONNECTIONS ${MARIADB_EXPORTER_MAXUSERCONNECTIONS } ;
61+ GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO '${MARIADB_EXPORTER_USER } '@'${host} ';
5162 FLUSH PRIVILEGES;
5263EOSQL
5364 else
54- echo " >> MySQL Exporter-User (${MYSQL_EXPORTER_USER } ) skipped."
65+ echo " >> MySQL Exporter-User (${MARIADB_EXPORTER_USER } ) skipped."
5566 fi
5667
5768 # checks
5869 echo " >> MySQL checks:"
59- mariadb -h ${MYSQL_HOST } -P ${MYSQL_PORT } -u root --password=" ${MYSQL_ROOT_PASSWORD } " ${options} -e ' SELECT user, host, max_user_connections FROM mysql.user;'
60- mariadb -h ${MYSQL_HOST } -P ${MYSQL_PORT } -u root --password=" ${MYSQL_ROOT_PASSWORD } " ${options} -e ' SELECT host, user, db FROM mysql.db;'
70+ mariadb -h ${MARIADB_HOST } -P ${MARIADB_PORT } -u root --password=" ${MARIADB_ROOT_PASSWORD } " ${options} -e ' SELECT user, host, max_user_connections FROM mysql.user;'
71+ mariadb -h ${MARIADB_HOST } -P ${MARIADB_PORT } -u root --password=" ${MARIADB_ROOT_PASSWORD } " ${options} -e ' SELECT host, user, db FROM mysql.db;'
6172fi
0 commit comments