# https://github.com/colinmollenhour/mariadb-galera-swarm/tree/master/examples/swarm
# Loome kataloogi salsõnade jaoks
mkdir -p .secrets
# Salasõnade genereerimine
openssl rand -base64 32 > .secrets/xtrabackup_password
openssl rand -base64 32 > .secrets/mysql_password
openssl rand -base64 32 > .secrets/mysql_root_password

# Create services
docker stack deploy -c mariadb.yml mariadb

docker service ls
# (wait for `mariadb_seed` to be healthy)
docker service scale mariadb_node=2
# (wait for both `mariadb_node` instances to be healthy)
docker service scale mariadb_seed=0
docker service scale mariadb_node=3

# ---------------------- mysql käsud ---------------------------
# Kõikide õiguste omandamine kasutajale 'user'
docker exec -it $(docker ps -f name=mariadb_node.1 -q) mysql -e"GRANT ALL PRIVILEGES ON * . * TO 'user'@'%';"
# Kasutaja user õiguste vaatamine
docker exec -it $(docker ps -f name=mariadb_node.1 -q) mysql -e"SHOW GRANTS FOR 'user'@'%';"

# ------------ Töö andmebaasis ---------------
# väljast logimine
docker exec -it $(docker ps -f name=mariadb_node.1 -q) mysql
# Igaks juhuks aname kasutajale user kõikidele tabelitele juurdepääsu,
# et konteiner dbclient saaks backup'i teha
GRANT ALL PRIVILEGES ON *.* TO 'user'@'%';
FLUSH PRIVILEGES;

# konteineri sees logimine
mysql -h localhost
# andmebaasi laadimine
mysql ab_nimi < /srv/backups/EMAL-2020-10-26T14-31-22.mysql
# seejärel lisa kasutaja ja õigused. Näiteks:
CREATE USER 'dr_mustikas'@'%'  IDENTIFIED BY 'ucKlFMQYkC5eXyf' ;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX,
ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, delete history
ON dr_mustikas.*
TO 'dr_mustikas'@'%';

# 
# Vaata konfi faile
docker exec $(docker ps -q -f name=mariadb_node) ls /etc/mysql/
docker exec $(docker ps -q -f name=mariadb_node) ls /etc/mysql/conf.d/
docker exec $(docker ps -q -f name=mariadb_node) cat /etc/mysql/conf.d/docker.cnf

docker exec $(docker ps -q -f name=mariadb_seed) ls /etc/mysql/
## ----------------- Vaja teha ---------------------
# Kataloog /etc/mysql/ tuua eraldi volume sisse

