max_memory_limit_mysql.sh: add support for configuration file (mysql_credetials.conf).

This commit is contained in:
Christoph 2018-12-10 04:23:46 +01:00
parent 8a825e2286
commit 19c2e2f5bc

View File

@ -1,8 +1,25 @@
#!/usr/bin/env bash
mysql_credential="--login-path=local"
#mysql_credential="--defaults-file=/etc/mysql/debian.cnf"
#mysql_credential="--defaults-file=/usr/local/mysql/sys-maint.cnf"
working_dir="$(dirname $(realpath $0))"
log_dir="${working_dir}/log"
conf_file="${working_dir}/conf/create_drop_database.conf"
tmp_log_file="$(mktemp)"
# -------------
# - Variable settings
# -------------
#DEFAULT_ACTION='create'
DEFAULT_MYSQL_CREDENTIAL_ARGS="--login-path=local"
if [[ -f "$conf_file" ]]; then
source "$conf_file" > $tmp_log_file 2>&1
fi
[[ -n "$MYSQL_CREDENTIAL_ARGS" ]] || MYSQL_CREDENTIAL_ARGS="$DEFAULT_MYSQL_CREDENTIAL_ARGS"
declare -i key_buffer_size
declare -i query_cache_size
@ -18,47 +35,47 @@ declare -i join_buffer_size
declare -i thread_stack
declare -i binlog_cache_size
key_buffer_size=`mysql $mysql_credential -N -s -e \
key_buffer_size=`mysql $MYSQL_CREDENTIAL_ARGS -N -s -e \
"SHOW VARIABLES LIKE 'key_buffer_size'" | awk '{print$2}'`
query_cache_size=`mysql $mysql_credential -N -s -e \
query_cache_size=`mysql $MYSQL_CREDENTIAL_ARGS -N -s -e \
"SHOW VARIABLES LIKE 'query_cache_size'" | awk '{print$2}'`
tmp_table_size=`mysql $mysql_credential -N -s -e \
tmp_table_size=`mysql $MYSQL_CREDENTIAL_ARGS -N -s -e \
"SHOW VARIABLES LIKE 'tmp_table_size'" | awk '{print$2}'`
innodb_buffer_pool_size=`mysql $mysql_credential -N -s -e \
innodb_buffer_pool_size=`mysql $MYSQL_CREDENTIAL_ARGS -N -s -e \
"SHOW VARIABLES LIKE 'innodb_buffer_pool_size'" | awk '{print$2}'`
innodb_additional_mem_pool_size=`mysql $mysql_credential -N -s -e \
innodb_additional_mem_pool_size=`mysql $MYSQL_CREDENTIAL_ARGS -N -s -e \
"SHOW VARIABLES LIKE 'innodb_additional_mem_pool_size'" | awk '{print$2}'`
innodb_log_buffer_size=`mysql $mysql_credential -N -s -e \
innodb_log_buffer_size=`mysql $MYSQL_CREDENTIAL_ARGS -N -s -e \
"SHOW VARIABLES LIKE 'innodb_log_buffer_size'" | awk '{print$2}'`
max_connections=`mysql $mysql_credential -N -s -e \
max_connections=`mysql $MYSQL_CREDENTIAL_ARGS -N -s -e \
"SHOW VARIABLES LIKE 'max_connections'" | awk '{print$2}'`
sort_buffer_size=`mysql $mysql_credential -N -s -e \
sort_buffer_size=`mysql $MYSQL_CREDENTIAL_ARGS -N -s -e \
"SHOW VARIABLES LIKE 'sort_buffer_size'" | awk '{print$2}'`
read_buffer_size=`mysql $mysql_credential -N -s -e \
read_buffer_size=`mysql $MYSQL_CREDENTIAL_ARGS -N -s -e \
"SHOW VARIABLES LIKE 'read_buffer_size'" | awk '{print$2}'`
read_rnd_buffer_size=`mysql $mysql_credential -N -s -e \
read_rnd_buffer_size=`mysql $MYSQL_CREDENTIAL_ARGS -N -s -e \
"SHOW VARIABLES LIKE 'read_rnd_buffer_size'" | awk '{print$2}'`
join_buffer_size=`mysql $mysql_credential -N -s -e \
join_buffer_size=`mysql $MYSQL_CREDENTIAL_ARGS -N -s -e \
"SHOW VARIABLES LIKE 'join_buffer_size'" | awk '{print$2}'`
thread_stack=`mysql $mysql_credential -N -s -e \
thread_stack=`mysql $MYSQL_CREDENTIAL_ARGS -N -s -e \
"SHOW VARIABLES LIKE 'thread_stack'" | awk '{print$2}'`
binlog_cache_size=`mysql $mysql_credential -N -s -e \
binlog_cache_size=`mysql $MYSQL_CREDENTIAL_ARGS -N -s -e \
"SHOW VARIABLES LIKE 'binlog_cache_size'" | awk '{print$2}'`
mysql_version=`mysql $mysql_credential -N -s -e \
mysql_version=`mysql $MYSQL_CREDENTIAL_ARGS -N -s -e \
"SHOW VARIABLES LIKE 'version'" | awk '{print$2}' | sed -e's/-.*$//'`
mysql_version_compile_machine=`mysql $mysql_credential -N -s -e \
mysql_version_compile_machine=`mysql $MYSQL_CREDENTIAL_ARGS -N -s -e \
"SHOW VARIABLES LIKE 'version_compile_machine'" | awk '{print$2}'`
declare -i max_used_connections
declare -i uptime
declare -i threads_connected
max_used_connections=`mysql $mysql_credential -N -s -e \
max_used_connections=`mysql $MYSQL_CREDENTIAL_ARGS -N -s -e \
"SHOW STATUS LIKE 'Max_used_connections'" | awk '{print$2}'`
threads_connected=`mysql $mysql_credential -N -s -e \
threads_connected=`mysql $MYSQL_CREDENTIAL_ARGS -N -s -e \
"SHOW STATUS LIKE 'Threads_connected'" | awk '{print$2}'`
uptime=`mysql $mysql_credential -N -s -e \
uptime=`mysql $MYSQL_CREDENTIAL_ARGS -N -s -e \
"SHOW STATUS LIKE 'Uptime'" | awk '{print$2}'`
_now=`date +%s`