【Docker实战之入门】firstrun_maria详细注释
发布时间:2020-12-16 03:50:13 所属栏目:安全 来源:网络整理
导读:table class="text"gt;tbodytr class="li1"gt; td class="ln"pre class="de1"1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
<td class="ln"><pre class="de1">1 | MariaDB not install..."
?
? ? ? ? echo "===> Initializing maria database... " //开始进行数据库的初始化
? ? ? ? //数据库初始化完毕以后,创建dbuser,并给dbuser配置pass。首先需要启动mysql,
? ? ? ? ? ? ? ? mysql_install_db --user=mysql --ldata=${DATA_DIR}
? ? ? ? echo "===> System databases initialized..."
?
? ? ? ? ? ? ? ? # Start mariadb
? ? ? ? /usr/bin/mysqld_safe --user mysql > /dev/null 2>&1 &
?
? ? ? ? echo "===> Waiting for MariaDB to start..."
?
? ? ? ? ? ? ? ? STA=1
? ? ? ? ? ? ? ? while [[ STA -ne 0 ]]; do
? ? ? ? ? ? printf "."
? ? ? ? ? ? ? ? ? ? ? ? sleep 5 //启动时不可能瞬间启动,需要启动时间,这里等待5秒。
? ? ? ? ? ? ? ? ? ? ? ? mysql -uroot -e "status" > /dev/null 2>&1
? ? ? ? ? ? ? ? ? ? ? ? STA=$?
? ? ? ? ? ? ? ? done
? ? ? ? echo "===> Start OK..."
?
? ? ? ? ? ? ? ? # 1. Create a localhost-only admin account
? ? ? ? ? ? ? ? mysql -u root -e "CREATE USER '$DB_USER'@'%' IDENTIFIED BY '$DB_PASS'" ?? ? ? ? //创建一个dbuser,默认是admin,并配置密码
? ? ? ? ? ? ? ? mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS'"
? ? ? ? ? ? ? ? mysql -u root -e "CREATE USER '$DB_USER'@'127.0.0.1' IDENTIFIED BY '$DB_PASS'"? //%、localhost、127.0.0.1 这以上三条命令都要执行
? ? ? ? ? ? ? ? mysql -u root -e "GRANT ALL PRIVILEGES ON *.* TO '$DB_USER'@'%' WITH GRANT OPTION" //给dbuser赋予权限。可以通过admin用户和密码进行登陆。
? ? ? ? echo "===> Create localhost completed..."
?
? ? ? ? ? ? ? ? # shutdown mariadb to wait for supervisor
? ? ? ? ? ? ? ? mysqladmin -u root shutdown //启动container时,不是在这里启动mariadb,所以把mariadb关掉
?
? ? ? ? else
? ? ? ? if [[ -e ${DATA_DIR}/mysql.sock ]]; then //检查一下mysql.sock文件存不存在
? ? ? ? ? ? rm -f ${DATA_DIR}/mysql.sock? ? ? ? //如果有这个文件会导致mariadb启动失败,所以删除该文件
? ? ? ? fi
?
? ? ? ? MARIADB_NEW=false //在第二次启动的时候不再执行以上的操作
?
? ? ? ? ? ? ? ? echo "===> Using an existing volume of MariaDB"
? ? ? ? fi
}
?
firstrun_maria //执行这个函数
?
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!