diff --git a/tutor/templates/hooks/mysql/init b/tutor/templates/hooks/mysql/init index e545a2af03431053aa3fa6e103248b2a462c3427..91d327f5004507cbc6ed6734208e5c8481105ec0 100644 --- a/tutor/templates/hooks/mysql/init +++ b/tutor/templates/hooks/mysql/init @@ -1 +1,18 @@ -echo "Nothing to do on MySQL..." +echo "Initialising MySQL..." +mysql_connection_max_attempts=10 +mysql_connection_attempt=0 +until mysql -u root --password="{{ MYSQL_ROOT_PASSWORD }}" --host "{{ MYSQL_HOST }}" --port {{ MYSQL_PORT }} -e 'exit' +do + mysql_connection_attempt=$(expr $mysql_connection_attempt + 1) + echo " [$mysql_connection_attempt/$mysql_connection_max_attempts] Waiting for MySQL service (this may take a while)..." + if [ $mysql_connection_attempt -eq $mysql_connection_max_attempts ] + then + echo "MySQL initialisation error" 1>&2 + exit 1 + fi + sleep 10 +done +echo "MySQL is up and running" + +mysql -u root --password="{{ MYSQL_ROOT_PASSWORD }}" --host "{{ MYSQL_HOST }}" --port {{ MYSQL_PORT }} -e 'CREATE DATABASE IF NOT EXISTS {{ OPENEDX_MYSQL_DATABASE }};' +mysql -u root --password="{{ MYSQL_ROOT_PASSWORD }}" --host "{{ MYSQL_HOST }}" --port {{ MYSQL_PORT }} -e 'GRANT ALL ON {{ OPENEDX_MYSQL_DATABASE }}.* TO "{{ OPENEDX_MYSQL_USERNAME }}"@"%" IDENTIFIED BY "{{ OPENEDX_MYSQL_PASSWORD }}";' \ No newline at end of file