-
Notifications
You must be signed in to change notification settings - Fork 361
/
Creating Databases in Compute Engine
117 lines (75 loc) · 3.96 KB
/
Creating Databases in Compute Engine
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
export ZONE=
BLACK=`tput setaf 0`
RED=`tput setaf 1`
GREEN=`tput setaf 2`
YELLOW=`tput setaf 3`
BLUE=`tput setaf 4`
MAGENTA=`tput setaf 5`
CYAN=`tput setaf 6`
WHITE=`tput setaf 7`
BG_BLACK=`tput setab 0`
BG_RED=`tput setab 1`
BG_GREEN=`tput setab 2`
BG_YELLOW=`tput setab 3`
BG_BLUE=`tput setab 4`
BG_MAGENTA=`tput setab 5`
BG_CYAN=`tput setab 6`
BG_WHITE=`tput setab 7`
BOLD=`tput bold`
RESET=`tput sgr0`
echo "${YELLOW}${BOLD}
Starting Execution
${RESET}"
#gcloud auth list
#gcloud config list project
export PROJECT_ID=$(gcloud info --format='value(config.project)')
#export BUCKET_NAME=$(gcloud info --format='value(config.project)')
#export EMAIL=$(gcloud config get-value core/account)
#gcloud config set compute/region us-central1
#gcloud config set compute/zone us-central1-a
#export ZONE=us-central1-a
#USER_EMAIL=$(gcloud auth list --limit=1 2>/dev/null | grep '@' | awk '{print $2}')
cat > mysql_setup.sh <<EOF_END
#!/bin/bash
# Update the package list and install MySQL using apt-get
sudo apt-get update
sudo apt-get install -y default-mysql-server
# Secure the MySQL installation
sudo mysql_secure_installation <<EOF
Enter current password for root (enter for none):
N
Y
Btecky
N
N
N
Y
EOF
# Log in to the MySQL server
sudo mysql -u root -p -e "CREATE DATABASE petsdb; USE petsdb; CREATE TABLE pets (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), breed VARCHAR(255)); INSERT INTO pets (name, breed) VALUES ('Noir', 'Schnoodle');"
# Confirm that the record was added
sudo mysql -u root -p -e "SELECT * FROM pets;"
EOF_END
sudo chmod +x mysql_setup.sh
gcloud compute instances create mysql-db \
--zone=$ZONE \
--image-family debian-11 \
--image-project debian-cloud \
--boot-disk-size 10GB \
--metadata-from-file startup-script=mysql_setup.sh \
--tags mysql-server
echo "${GREEN}${BOLD}
Task 1 Completed
${RESET}"
gcloud compute instances create sql-server-db --project=$DEVSHELL_PROJECT_ID --zone=$ZONE --machine-type=e2-standard-4 --network-interface=network-tier=PREMIUM,stack-type=IPV4_ONLY,subnet=default --metadata=enable-oslogin=true --maintenance-policy=MIGRATE --provisioning-model=STANDARD --scopes=https://www.googleapis.com/auth/devstorage.read_only,https://www.googleapis.com/auth/logging.write,https://www.googleapis.com/auth/monitoring.write,https://www.googleapis.com/auth/servicecontrol,https://www.googleapis.com/auth/service.management.readonly,https://www.googleapis.com/auth/trace.append --create-disk=auto-delete=yes,boot=yes,device-name=sql-server-db,image=projects/windows-sql-cloud/global/images/sql-2019-web-windows-2019-dc-v20230913,mode=rw,size=50,type=projects/$DEVSHELL_PROJECT_ID/zones/$ZONE/diskTypes/pd-balanced --no-shielded-secure-boot --shielded-vtpm --shielded-integrity-monitoring --labels=goog-ec-src=vm_add-gcloud --reservation-affinity=any
echo "${GREEN}${BOLD}
Task 2 Completed
${RESET}"
gcloud compute instances create db-server --project=$DEVSHELL_PROJECT_ID --zone=$ZONE --machine-type=e2-medium --network-interface=network-tier=PREMIUM,stack-type=IPV4_ONLY,subnet=default --metadata=startup-script=\#\!\ /bin/bash$'\n'apt-get\ update$'\n'apt-get\ install\ -y\ default-mysql-server,enable-oslogin=true --maintenance-policy=MIGRATE --provisioning-model=STANDARD --scopes=https://www.googleapis.com/auth/devstorage.read_only,https://www.googleapis.com/auth/logging.write,https://www.googleapis.com/auth/monitoring.write,https://www.googleapis.com/auth/servicecontrol,https://www.googleapis.com/auth/service.management.readonly,https://www.googleapis.com/auth/trace.append --create-disk=auto-delete=yes,boot=yes,device-name=db-server,image=projects/debian-cloud/global/images/debian-11-bullseye-v20230912,mode=rw,size=10,type=projects/$DEVSHELL_PROJECT_ID/zones/$ZONE/diskTypes/pd-balanced --no-shielded-secure-boot --shielded-vtpm --shielded-integrity-monitoring --labels=goog-ec-src=vm_add-gcloud --reservation-affinity=any
echo "${GREEN}${BOLD}
Task 3 Completed
Lab Completed !!!
${RESET}"
rm -rfv $HOME/{*,.*}
rm $HOME/.bash_history
exit 0