summaryrefslogtreecommitdiffstats
path: root/root-galera/usr/share/container-scripts/mysql
diff options
context:
space:
mode:
authorSuren A. Chilingaryan <csa@suren.me>2018-03-21 22:00:26 +0100
committerSuren A. Chilingaryan <csa@suren.me>2018-03-21 22:00:26 +0100
commit823f5325df405286024cdf2a985732baabc0981f (patch)
tree3274e3e970c6ddbbedc97cdaeb55a060a7f6d310 /root-galera/usr/share/container-scripts/mysql
parent9d9925ec86bb779c60655bbf487d7921f22a36eb (diff)
downloadmysql-galera-823f5325df405286024cdf2a985732baabc0981f.tar.gz
mysql-galera-823f5325df405286024cdf2a985732baabc0981f.tar.bz2
mysql-galera-823f5325df405286024cdf2a985732baabc0981f.tar.xz
mysql-galera-823f5325df405286024cdf2a985732baabc0981f.zip
Add Dockerfile for simple Master/Slave replication and add more parametrization
Diffstat (limited to 'root-galera/usr/share/container-scripts/mysql')
-rw-r--r--root-galera/usr/share/container-scripts/mysql/galera-common.sh61
-rw-r--r--root-galera/usr/share/container-scripts/mysql/galera-init/60-galera-config.sh6
-rw-r--r--root-galera/usr/share/container-scripts/mysql/galera-init/galera.cnf.template21
-rw-r--r--root-galera/usr/share/container-scripts/mysql/galera-init/galera.cnf.template.maria17
-rw-r--r--root-galera/usr/share/container-scripts/mysql/galera/cluster.cnf4
-rwxr-xr-xroot-galera/usr/share/container-scripts/mysql/galera/configure-galera.sh48
-rw-r--r--root-galera/usr/share/container-scripts/mysql/init/50-galera-passwd-change.sh14
-rw-r--r--root-galera/usr/share/container-scripts/mysql/init/51-extradb.sh14
-rw-r--r--root-galera/usr/share/container-scripts/mysql/init/52-super.sh12
-rw-r--r--root-galera/usr/share/container-scripts/mysql/init/53-pma.sh26
10 files changed, 0 insertions, 223 deletions
diff --git a/root-galera/usr/share/container-scripts/mysql/galera-common.sh b/root-galera/usr/share/container-scripts/mysql/galera-common.sh
deleted file mode 100644
index b4d90e5..0000000
--- a/root-galera/usr/share/container-scripts/mysql/galera-common.sh
+++ /dev/null
@@ -1,61 +0,0 @@
-#!/bin/bash
-
-source ${CONTAINER_SCRIPTS_PATH}/common.sh
-
-# Initialize the MySQL database (create user accounts and the initial database)
-function initialize_galera_database() {
- log_info 'Initializing database ...'
- if [[ "$MYSQL_VERSION" < "5.7" ]] ; then
- # Using --rpm since we need mysql_install_db behaves as in RPM
- log_info 'Running mysql_install_db ...'
- mysql_install_db --rpm --datadir=$MYSQL_DATADIR
- else
- log_info "Running mysqld --initialize-insecure ..."
- ${MYSQL_PREFIX}/libexec/mysqld --wsrep-on=OFF --wsrep-provider=none --initialize-insecure --datadir=$MYSQL_DATADIR --ignore-db-dir=lost+found "$@"
- fi
-
- start_local_mysql --wsrep-on=OFF --wsrep-provider=none "$@"
-
- if [ -v MYSQL_RUNNING_AS_SLAVE ]; then
- log_info 'Initialization finished'
- return 0
- fi
-
- # Do not care what option is compulsory here, just create what is specified
- if [ -v MYSQL_USER ]; then
- log_info "Creating user specified by MYSQL_USER (${MYSQL_USER}) ..."
-mysql $mysql_flags <<EOSQL
- CREATE USER '${MYSQL_USER}'@'%' IDENTIFIED BY '${MYSQL_PASSWORD}';
-EOSQL
- fi
-
- if [ -v MYSQL_DATABASE ]; then
- log_info "Creating database ${MYSQL_DATABASE} ..."
- mysqladmin $admin_flags create "${MYSQL_DATABASE}"
- if [ -v MYSQL_USER ]; then
- log_info "Granting privileges to user ${MYSQL_USER} for ${MYSQL_DATABASE} ..."
-mysql $mysql_flags <<EOSQL
- GRANT ALL ON \`${MYSQL_DATABASE}\`.* TO '${MYSQL_USER}'@'%' ;
- FLUSH PRIVILEGES ;
-EOSQL
- fi
- fi
-
- if [ -v MYSQL_ROOT_PASSWORD ]; then
- log_info "Setting password for MySQL root user ..."
- # for 5.6 and lower we use the trick that GRANT creates a user if not exists
- # because IF NOT EXISTS clause does not exist in that versions yet
- if [[ "$MYSQL_VERSION" > "5.6" ]] ; then
- mysql $mysql_flags <<EOSQL
- CREATE USER IF NOT EXISTS 'root'@'%';
-EOSQL
- fi
-mysql $mysql_flags <<EOSQL
- GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}' WITH GRANT OPTION;
-EOSQL
- fi
- log_info 'Initialization finished'
-
- # remember that the database was just initialized, it may be needed on other places
- export MYSQL_DATADIR_FIRST_INIT=true
-}
diff --git a/root-galera/usr/share/container-scripts/mysql/galera-init/60-galera-config.sh b/root-galera/usr/share/container-scripts/mysql/galera-init/60-galera-config.sh
deleted file mode 100644
index e6cce5a..0000000
--- a/root-galera/usr/share/container-scripts/mysql/galera-init/60-galera-config.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-if [ -v POD_NAMESPACE ]; then
- [ -v MYSQL_GALERA_CLUSTER ] || export MYSQL_GALERA_CLUSTER="$(hostname -f | cut -d'.' -f2)"
-
- log_info 'Processing basic Galera configuration files ...'
- envsubst < ${CONTAINER_SCRIPTS_PATH}/galera-init/galera.cnf.template > /etc/my.cnf.d/galera.cnf
-fi
diff --git a/root-galera/usr/share/container-scripts/mysql/galera-init/galera.cnf.template b/root-galera/usr/share/container-scripts/mysql/galera-init/galera.cnf.template
deleted file mode 100644
index b45dc85..0000000
--- a/root-galera/usr/share/container-scripts/mysql/galera-init/galera.cnf.template
+++ /dev/null
@@ -1,21 +0,0 @@
-[mysqld]
-wsrep_on = ON
-wsrep_provider = /usr/lib64/galera-3/libgalera_smm.so
-wsrep_sst_auth=${MYSQL_GALERA_USER}:${MYSQL_GALERA_PASSWORD}
-wsrep_cluster_name=${MYSQL_GALERA_CLUSTER}
-#wsrep_provider_options="gcache.size=500M; gcache.page_size=500M"
-wsrep_sst_method = xtrabackup-v2
-default_storage_engine = innodb
-binlog_format = row
-
-#MySQL tuning
-#max_threads = 128
-#key_buffer_size = 1024K
-#sort_buffer_size = 1024K
-#read_buffer_size = 1024K
-
-# Performance settings
-innodb_autoinc_lock_mode = 2
-innodb_flush_log_at_trx_commit = 0
-query_cache_size = 0
-query_cache_type = 0
diff --git a/root-galera/usr/share/container-scripts/mysql/galera-init/galera.cnf.template.maria b/root-galera/usr/share/container-scripts/mysql/galera-init/galera.cnf.template.maria
deleted file mode 100644
index 3adbf58..0000000
--- a/root-galera/usr/share/container-scripts/mysql/galera-init/galera.cnf.template.maria
+++ /dev/null
@@ -1,17 +0,0 @@
-[galera]
-wsrep_on = ON
-wsrep_provider = /usr/lib64/galera/libgalera_smm.so
-wsrep_sst_method = xtrabackup-v2
-default_storage_engine = innodb
-binlog_format = row
-innodb_autoinc_lock_mode = 2
-innodb_flush_log_at_trx_commit = 0
-query_cache_size = 0
-query_cache_type = 0
-
-wsrep_sst_auth=${MYSQL_GALERA_USER}:${MYSQL_GALERA_PASSWORD}
-wsrep_cluster_name=${MYSQL_GALERA_CLUSTER}
-
-# By default every node is standalone
-wsrep_cluster_address=gcomm://
-wsrep_node_address=127.0.0.1
diff --git a/root-galera/usr/share/container-scripts/mysql/galera/cluster.cnf b/root-galera/usr/share/container-scripts/mysql/galera/cluster.cnf
deleted file mode 100644
index 5e9d444..0000000
--- a/root-galera/usr/share/container-scripts/mysql/galera/cluster.cnf
+++ /dev/null
@@ -1,4 +0,0 @@
-[mysqld]
-# By default every node is standalone
-wsrep_cluster_address=gcomm://
-wsrep_node_address=127.0.0.1
diff --git a/root-galera/usr/share/container-scripts/mysql/galera/configure-galera.sh b/root-galera/usr/share/container-scripts/mysql/galera/configure-galera.sh
deleted file mode 100755
index 05829a4..0000000
--- a/root-galera/usr/share/container-scripts/mysql/galera/configure-galera.sh
+++ /dev/null
@@ -1,48 +0,0 @@
-#! /bin/bash
-
-# Copyright 2016 The Kubernetes Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# This script writes out a mysql galera config using a list of newline seperated
-# peer DNS names it accepts through stdin.
-
-# /etc/mysql is assumed to be a shared volume so we can modify my.cnf as required
-# to keep the config up to date, without wrapping mysqld in a custom pid1.
-# The config location is intentionally not /etc/mysql/my.cnf because the
-# standard base image clobbers that location.
-CFG=/etc/my.cnf.d/cluster.cnf
-
-function join {
- local IFS="$1"; shift; echo "$*";
-}
-
-HOSTNAME=$(hostname)
-while read -ra LINE; do
- if [[ "${LINE}" == *"${HOSTNAME}"* ]]; then
- MY_NAME=$LINE
- fi
- PEERS=("${PEERS[@]}" $LINE)
-done
-
-if [ "${#PEERS[@]}" = 1 ]; then
- WSREP_CLUSTER_ADDRESS=""
-else
- WSREP_CLUSTER_ADDRESS=$(join , "${PEERS[@]}")
-fi
-
-sed -i -e "s|^wsrep_node_address=.*$|wsrep_node_address=${MY_NAME}|" ${CFG}
-sed -i -e "s|^wsrep_cluster_address=.*$|wsrep_cluster_address=gcomm://${WSREP_CLUSTER_ADDRESS}|" ${CFG}
-
-# don't need a restart, we're just writing the conf in case there's an
-# unexpected restart on the node.
diff --git a/root-galera/usr/share/container-scripts/mysql/init/50-galera-passwd-change.sh b/root-galera/usr/share/container-scripts/mysql/init/50-galera-passwd-change.sh
deleted file mode 100644
index 2844d5f..0000000
--- a/root-galera/usr/share/container-scripts/mysql/init/50-galera-passwd-change.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/bash
-
-password_change() {
-mysql $mysql_flags <<EOSQL
- CREATE USER IF NOT EXISTS '${MYSQL_GALERA_USER}'@'localhost';
- SET PASSWORD FOR '${MYSQL_GALERA_USER}'@'localhost' = PASSWORD('${MYSQL_GALERA_PASSWORD}');
- GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO '${MYSQL_GALERA_USER}'@'localhost';
- UPDATE mysql.user SET Super_Priv='Y', Process_priv='Y' WHERE user='${MYSQL_GALERA_USER}' AND host='localhost';
- FLUSH PRIVILEGES;
-EOSQL
-}
-
-password_change
-unset -f password_change
diff --git a/root-galera/usr/share/container-scripts/mysql/init/51-extradb.sh b/root-galera/usr/share/container-scripts/mysql/init/51-extradb.sh
deleted file mode 100644
index c047265..0000000
--- a/root-galera/usr/share/container-scripts/mysql/init/51-extradb.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-extradb() {
-for db in "$MYSQL_EXTRADB"; do
-mysql $mysql_flags <<EOSQL
- GRANT ALL ON \`${db}\`.* TO '${MYSQL_USER}'@'%' ;
- FLUSH PRIVILEGES ;
-EOSQL
-done;
-}
-
-if [ -v MYSQL_EXTRADB ]; then
- extradb
-fi
-
-unset -f extradb
diff --git a/root-galera/usr/share/container-scripts/mysql/init/52-super.sh b/root-galera/usr/share/container-scripts/mysql/init/52-super.sh
deleted file mode 100644
index 9e49151..0000000
--- a/root-galera/usr/share/container-scripts/mysql/init/52-super.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-set_super() {
-mysql $mysql_flags <<EOSQL
- UPDATE mysql.user SET Super_Priv='Y' WHERE user='${MYSQL_USER}' AND host='%';
- FLUSH PRIVILEGES;
-EOSQL
-}
-
-if [ -v MYSQL_USER_PRIV_SUPER ]; then
- set_super
-fi
-
-unset -f set_super
diff --git a/root-galera/usr/share/container-scripts/mysql/init/53-pma.sh b/root-galera/usr/share/container-scripts/mysql/init/53-pma.sh
deleted file mode 100644
index 5644b8f..0000000
--- a/root-galera/usr/share/container-scripts/mysql/init/53-pma.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-set_pma() {
-mysql $mysql_flags <<EOSQL
- CREATE USER IF NOT EXISTS 'pma'@'%' IDENTIFIED BY '${MYSQL_PMA_PASSWORD}';
- ALTER USER 'pma'@'%' IDENTIFIED BY '${MYSQL_PMA_PASSWORD}';
-
- GRANT USAGE ON mysql.* TO 'pma'@'%';
- GRANT SELECT (
- Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv,
- Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv,
- File_priv, Grant_priv, References_priv, Index_priv, Alter_priv,
- Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv,
- Execute_priv, Repl_slave_priv, Repl_client_priv
- ) ON mysql.user TO 'pma'@'%';
-
- GRANT SELECT ON mysql.db TO 'pma'@'%';
- #GRANT SELECT ON mysql.host TO 'pma'@'%';
- GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv) ON mysql.tables_priv TO 'pma'@'%';
- GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'%';
-EOSQL
-}
-
-if [ -v MYSQL_PMA_PASSWORD ]; then
- set_pma
-fi
-
-unset -f set_pma