相关文章推荐
拉风的绿豆  ·  迁移到 Azure MySQL ...·  1 月前    · 
焦虑的皮带  ·  在Linux ...·  1 月前    · 
跑龙套的开水瓶  ·  MySql使用mysqldump ...·  4 周前    · 
文质彬彬的大象  ·  QML 缩放 —— ...·  1 年前    · 
开朗的胡萝卜  ·  QPainter::setBrush: ...·  1 年前    · 


# cat docker-entrypoint.sh

####################################################

#!/bin/sh

set -e

umask 0077

mysql=( mysql --protocol=socket -uroot )

if [ -z "$(ls -A /var/lib/mysql)" ]; then

if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then

mysqld --initialize-insecure --user=mysql

else

mysqld --initialize-insecure --user=mysql

mysqld &

mysqld_pid="$!"

for i in {15..0}; do

if echo 'SELECT 1' | "${mysql[@]}" &> /dev/null; then

mysql -u root --skip-password -e "alter user root@'localhost' identified by \"${MYSQL_ROOT_PASSWORD}\";"

mysql -u root  -p"${MYSQL_ROOT_PASSWORD}" -e "flush privileges;"

break

fi

echo 'MySQL init process in progress...'

sleep 1

done

if [ "$i" = 0 ]; then

echo >&2 'MySQL init process failed.'

exit 1

fi

fi

fi

if ! kill -s TERM "$mysqld_pid" || ! wait "$mysqld_pid"; then

echo >&2 'MySQL init process failed.'

exit 1

fi

exec "$@"

#####################################################