前端之家收集整理的这篇文章主要介绍了
【Docker实战之入门】firstrun_maria详细注释,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
<table class="text"><tbody><tr class="li1">
<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
60
61
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 //执行这个
函数