optimize_mysql_tables.sh: main loop failed if mysql_credential_args contains a blank sign as i.e '-u root -S /tmp/mysql.sock'.

This commit is contained in:
Christoph 2019-11-02 12:35:59 +01:00
parent 789988b940
commit 8666b07ed5

View File

@ -240,18 +240,18 @@ fi
[[ -z "$log_file" ]] && log_file="$DEFAULT_LOG_FILE" [[ -z "$log_file" ]] && log_file="$DEFAULT_LOG_FILE"
if [[ ${#mysql_credential_args_arr[@]} -eq 0 ]]; then if [[ ${#mysql_credential_args_arr[@]} -eq 0 ]]; then
[[ -z "$mysql_credential_args" ]] && mysql_credential_args="$DEFAULT_MYSQL_CREDENTIAL_ARGS" mysql_credential_args_arr[0]="default:$mysql_credential_args"
mysql_credential_args_arr="$mysql_credential_args"
fi fi
declare -i length_table_name declare -i length_table_name
declare -i number_blank_signd declare -i number_blank_signd
declare -i index_i declare -i index_i
for _val in ${mysql_credential_args_arr[@]} ; do declare -i index_arr=0
while [[ $index_arr -lt ${#mysql_credential_args_arr[@]} ]] ; do
_all_success=true _all_success=true
IFS=':' read -a _val_arr <<< "${_val}" IFS=':' read -a _val_arr <<< "${mysql_credential_args_arr[$index_arr]}"
mysql_version="${_val_arr[0]}" mysql_version="${_val_arr[0]}"
mysql_credential_args="${_val_arr[1]}" mysql_credential_args="${_val_arr[1]}"
@ -406,6 +406,9 @@ for _val in ${mysql_credential_args_arr[@]} ; do
echo "[ MySQL $mysql_version ]: Finished optimizing MySQL databases at host $(hostname -f)." >> $log_file echo "[ MySQL $mysql_version ]: Finished optimizing MySQL databases at host $(hostname -f)." >> $log_file
echo "" >> $log_file echo "" >> $log_file
fi fi
(( index_arr++ ))
done done
if [[ ${#info_messages_arr[@]} -gt 0 ]]; then if [[ ${#info_messages_arr[@]} -gt 0 ]]; then