当前仓库属于关闭状态,部分功能使用受限,详情请查阅 仓库状态说明
1 Star 0 Fork 21

Neil.Zhou / docker-mysql-mha
关闭

forked from chris / docker-mysql-mha
关闭
 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
start.sh 2.06 KB
一键复制 编辑 原始数据 按行查看 历史
chris 提交于 2017-02-15 19:38 . initializing
#!/bin/bash
#set -x
set -eo pipefail
shopt -s nullglob
declare -a container_id;
#declare -a container_ip;
declare -a service_name;
# 无参函数
# 用于获取当前Docker compose下的所有container id和ip地址, 执行容器内的SSH免密登录脚本
ssh-interconnect(){
local ssh_init_path=/preparation/ssh-init.sh
local ssh_pass_path=/preparation/ssh-pass.sh
# 将该project下的container name置于数组
for con in $(docker-compose ps | sed -n '3,$p' | sed -n '/Up/p' | awk '{print $1}'); do
# 获取正在运行的container id
cid=$(docker ps | grep "$con" | awk '{print $1}')
container_id+=( "$cid" )
# 获取容器ip
#container_ip+=("$(docker inspect "$cid" | grep -o -E '\"IPAddress": ".+"' \
# | grep -o -E '(\d+[.]*)+\"' | sed "s/\"//g")")
# 获取docker compose的service名, 限制一个service对应一个container
service_name+=("$(docker inspect "$cid" | sed -n 's/\"com\.docker\.compose\.service\": \"//gp' \
| sed -n 's/\",//gp')")
done
for c_id in ${container_id[*]}; do
echo "$c_id initializing SSH..."
docker exec "$c_id" "$ssh_init_path"
done
for c_id in ${container_id[*]}; do
for c_name in ${service_name[*]}; do
docker exec "$c_id" "$ssh_pass_path" "$c_name"
done
done
}
# 将接收到的参数使用ANSI颜色打印到控制台
aprint(){
echo "$(tput setaf 2)>>> $1 $(tput sgr0)"
}
aprint "Docker Compose starting..."
docker-compose up -d
aprint "Setting ssh..."
ssh-interconnect
aprint "Creating mysql user for replication named 'repl' on master container..."
docker-compose exec master /mha_share/create-repl-account.sh
aprint "Configuring replication with GTID mode..."
for c_name in ${service_name[*]}; do
if [[ "$c_name" =~ slave_.* ]]; then
echo "configuring $c_name $c_id ..."
docker exec "$c_id" /mha_share/change-master.sh
fi
done
sleep 7
aprint "Initializing MHA configuration..."
docker-compose exec manager /preparation/bootstrap.sh ${service_name[*]}
aprint "Done!"
Java
1
https://gitee.com/gsz_project/docker-mysql-mha.git
git@gitee.com:gsz_project/docker-mysql-mha.git
gsz_project
docker-mysql-mha
docker-mysql-mha
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891