diff --git a/databases/mysql57-server/files/mysql-server.in b/databases/mysql57-server/files/mysql-server.in index 03c57e7..94a8a5d 100644 --- a/databases/mysql57-server/files/mysql-server.in +++ b/databases/mysql57-server/files/mysql-server.in @@ -52,12 +52,17 @@ command_args="-c -f %%PREFIX%%/bin/mysqld_safe --defaults-extra-file=${mysql_opt procname="%%PREFIX%%/libexec/mysqld" start_precmd="${name}_prestart" start_postcmd="${name}_poststart" -mysql_install_db="%%PREFIX%%/bin/mysql_install_db" -mysql_install_db_args="--defaults-extra-file=${mysql_optfile} --basedir=%%PREFIX%% --datadir=${mysql_dbdir} --mysqld-file=${procname} --user=${mysql_user}" +mysql_install_db="${procname}" +# NOTE: --initialize MUST be at the end or other options will be +# "unknown variables" and initialization fails. +# This is why it's set hardcoded in mysql_create_auth_tables rather then the +# options variable here. +mysql_install_db_args="--defaults-extra-file=${mysql_optfile} --basedir=%%PREFIX%% --datadir=${mysql_dbdir} --user=${mysql_user}" mysql_create_auth_tables() { - eval $mysql_install_db $mysql_install_db_args >/dev/null 2>/dev/null + $mysql_install_db $mysql_install_db_args --initialize 2>&1 | \ + /usr/bin/sed -ne '/A temporary password is generated/ s/^.*Note] //p' } mysql_prestart()