-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup.sh
executable file
·71 lines (55 loc) · 3.41 KB
/
setup.sh
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
62
63
64
65
66
67
68
69
70
71
#!/usr/bin/env bash
UNAMEOUT="$(uname -s)"
# Verify operating system is supported...
case "${UNAMEOUT}" in
Linux*) MACHINE=linux;;
Darwin*) MACHINE=mac;;
*) MACHINE="UNKNOWN"
esac
if [ "$MACHINE" == "UNKNOWN" ]; then
echo "Unsupported operating system [$(uname -s)]. This setup script supports macOS, Linux, and Windows (WSL2)." >&2
exit 1
fi
# Determine if stdout is a terminal...
if test -t 1; then
# Determine if colors are supported...
ncolors=$(tput colors)
if test -n "$ncolors" && test "$ncolors" -ge 8; then
BOLD="$(tput bold)"
YELLOW="$(tput setaf 3)"
GREEN="$(tput setaf 2)"
RED="$(tput setaf 1)"
NC="$(tput sgr0)"
fi
fi
trap 'echo "${RED}* Script halted (user pressed CTRL-C?)${NC}"; exit' SIGINT SIGTERM SIGTSTP
echo "${GREEN}* Load saved Docker containers${NC}"
echo
docker load --input mariadb-catalogs-docker-0.3.tar.gz
echo
echo "${GREEN}* Install and start Docker containers${NC}"
echo
docker compose up -d
echo
echo "${GREEN}* Setup test catalogs${NC}"
echo
docker compose exec -w /usr/local/mysql mariadb-catalogs bash -c "./scripts/mariadb-install-db --catalogs=cat1 --datadir=/datadir"
docker compose exec -w /usr/local/mysql mariadb-catalogs bash -c "./scripts/mariadb-install-db --catalogs=cat2 --datadir=/datadir"
echo
echo "${GREEN}* Setup test databases${NC}"
docker compose exec -w /usr/local/mysql mariadb-catalogs bash -c "./bin/mariadb -e \"USE CATALOG cat1; CREATE DATABASE testdb1; CREATE DATABASE testdb2;\""
docker compose exec -w /usr/local/mysql mariadb-catalogs bash -c "./bin/mariadb -e \"USE CATALOG cat2; CREATE DATABASE testdb3; CREATE DATABASE testdb4;\""
echo
echo "${GREEN}* Setup test users${NC}"
docker compose exec -w /usr/local/mysql mariadb-catalogs bash -c "./bin/mariadb -e \"CREATE USER 'root'@'%' IDENTIFIED BY 'rootpassword';\""
docker compose exec -w /usr/local/mysql mariadb-catalogs bash -c "./bin/mariadb -e \"GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'rootpassword' WITH GRANT OPTION;\""
docker compose exec -w /usr/local/mysql mariadb-catalogs bash -c "./bin/mariadb cat1.mysql -e \"CREATE USER 'user1'@'%' IDENTIFIED BY 'password';\""
docker compose exec -w /usr/local/mysql mariadb-catalogs bash -c "./bin/mariadb cat1.mysql -e \"GRANT ALL PRIVILEGES ON *.* TO 'user1'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;\""
docker compose exec -w /usr/local/mysql mariadb-catalogs bash -c "./bin/mariadb cat1.mysql -e \"GRANT ALL PRIVILEGES ON *.* TO 'user1'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;\""
docker compose exec -w /usr/local/mysql mariadb-catalogs bash -c "./bin/mariadb cat2.mysql -e \"CREATE USER 'user2'@'%' IDENTIFIED BY 'password';\""
docker compose exec -w /usr/local/mysql mariadb-catalogs bash -c "./bin/mariadb cat2.mysql -e \"GRANT ALL PRIVILEGES ON *.* TO 'user2'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;\""
docker compose exec -w /usr/local/mysql mariadb-catalogs bash -c "./bin/mariadb cat2.mysql -e \"GRANT ALL PRIVILEGES ON *.* TO 'user2'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;\""
docker compose exec -w /usr/local/mysql mariadb-catalogs bash -c "./bin/mariadb -e \"FLUSH PRIVILEGES;\""
docker compose exec -w /usr/local/mysql mariadb-catalogs bash -c "./bin/mariadb cat1.mysql -e \"FLUSH PRIVILEGES;\""
docker compose exec -w /usr/local/mysql mariadb-catalogs bash -c "./bin/mariadb cat2.mysql -e \"FLUSH PRIVILEGES;\""
echo