Browse Source

Fix MySQL check if PDNSCONF_GMYSQL_HOST is not "mysql".

Fixes interlegis/docker-powerdns#3.
pull/4/head
Carl Kittelberger 3 years ago
parent
commit
5ba28be4a0
No known key found for this signature in database GPG Key ID: 468BBEEBB9EC6AEA
  1. 8
      pdns/start.sh

8
pdns/start.sh

@ -5,6 +5,8 @@ mkdir -p /etc/powerdns/pdns.d
PDNSVARS=`echo ${!PDNSCONF_*}` PDNSVARS=`echo ${!PDNSCONF_*}`
touch /etc/powerdns/pdns.conf touch /etc/powerdns/pdns.conf
PDNSCONF_GMYSQL_HOST=${PDNSCONF_GMYSQL_HOST:-mysql}
if [ ! -z $MYSQL_ENV_MARIADB_DATABASE ]; then if [ ! -z $MYSQL_ENV_MARIADB_DATABASE ]; then
PDNSCONF_GMYSQL_USER=$MYSQL_ENV_MARIADB_USER PDNSCONF_GMYSQL_USER=$MYSQL_ENV_MARIADB_USER
PDNSCONF_GMYSQL_DBNAME=$MYSQL_ENV_MARIADB_DATABASE PDNSCONF_GMYSQL_DBNAME=$MYSQL_ENV_MARIADB_DATABASE
@ -35,7 +37,7 @@ fi
mysqlcheck() { mysqlcheck() {
# Wait for MySQL to be available... # Wait for MySQL to be available...
COUNTER=20 COUNTER=20
until mysql -h mysql -u $PDNSCONF_GMYSQL_USER -p$PDNSCONF_GMYSQL_PASSWORD -e "show databases" 2>/dev/null; do until mysql -h "$PDNSCONF_GMYSQL_HOST" -u "$PDNSCONF_GMYSQL_USER" -p"$PDNSCONF_GMYSQL_PASSWORD" -e "show databases" 2>/dev/null; do
echo "WARNING: MySQL still not up. Trying again..." echo "WARNING: MySQL still not up. Trying again..."
sleep 10 sleep 10
let COUNTER-=1 let COUNTER-=1
@ -45,10 +47,10 @@ mysqlcheck() {
fi fi
done done
count=`mysql -h mysql -u $PDNSCONF_GMYSQL_USER -p$PDNSCONF_GMYSQL_PASSWORD -e "select count(*) from information_schema.tables where table_type='BASE TABLE' and table_schema='$PDNSCONF_GMYSQL_DBNAME';" | tail -1` count=`mysql -h "$PDNSCONF_GMYSQL_HOST" -u "$PDNSCONF_GMYSQL_USER" -p"$PDNSCONF_GMYSQL_PASSWORD" -e "select count(*) from information_schema.tables where table_type='BASE TABLE' and table_schema='$PDNSCONF_GMYSQL_DBNAME';" | tail -1`
if [ "$count" == "0" ]; then if [ "$count" == "0" ]; then
echo "Database is empty. Importing PowerDNS schema..." echo "Database is empty. Importing PowerDNS schema..."
mysql -h mysql -u $PDNSCONF_GMYSQL_USER -p$PDNSCONF_GMYSQL_PASSWORD $PDNSCONF_GMYSQL_DBNAME < /usr/share/doc/pdns-backend-mysql/schema.mysql.sql && echo "Import done." mysql -h "$PDNSCONF_GMYSQL_HOST" -u "$PDNSCONF_GMYSQL_USER" -p"$PDNSCONF_GMYSQL_PASSWORD" "$PDNSCONF_GMYSQL_DBNAME" < /usr/share/doc/pdns-backend-mysql/schema.mysql.sql && echo "Import done."
fi fi
} }

Loading…
Cancel
Save