mysql 官方镜像_【MySQL】关于MySQL 5.6官方镜像docker-entrypoint.sh分析

# cat test.sh

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

#!/bin/bash

MYSQL_ROOT_PASSWORD="MySQL@123"

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

echo  ${mysql[@]}

mysql+=( -p"${MYSQL_ROOT_PASSWORD}" )

echo  ${mysql[@]}

"${mysql[@]}" <

-- What's done in this file shouldn't be replicated

--  or products like mysql-fabric won't work

SET @@SESSION.SQL_LOG_BIN=0;

DELETE FROM mysql.user ;

CREATE USER 'root'@'%' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}' ;

GRANT ALL ON *.* TO 'root'@'%' WITH GRANT OPTION ;

DROP DATABASE IF EXISTS test ;

FLUSH PRIVILEGES ;

EOSQL

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

cce592fa9e7a

cce592fa9e7a

# 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 "$@"

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

cce592fa9e7a

参考

关于cat >file 、cat

https://www.jianshu.com/p/48dae9d68365

MySQL 5.6官方镜像docker-entrypoint.sh分析

https://www.cnblogs.com/ivictor/p/4832832.html

https://github.com/docker-library/mysql/tree/5836bc9af9deb67b68c32bebad09a0f7513da36e/5.6

https://github.com/mysql/mysql-docker/blob/mysql-server/5.7/docker-entrypoint.sh

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值