diff --git a/max_memory_limit_mysql.sh b/max_memory_limit_mysql.sh index be2ac0d..b0a7e9c 100755 --- a/max_memory_limit_mysql.sh +++ b/max_memory_limit_mysql.sh @@ -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`