@@ -221,6 +221,7 @@ bootstrap_variables() {
221
221
transform_backup_instance_variable "${backup_instance_number}" INFLUX_VERSION backup_job_influx_version
222
222
transform_backup_instance_variable "${backup_instance_number}" LOG_LEVEL backup_job_log_level
223
223
transform_backup_instance_variable "${backup_instance_number}" MONGO_CUSTOM_URI backup_job_mongo_custom_uri
224
+ transform_backup_instance_variable "${backup_instance_number}" MYSQL_CLIENT backup_job_mysql_client
224
225
transform_backup_instance_variable "${backup_instance_number}" MYSQL_ENABLE_TLS backup_job_mysql_enable_tls
225
226
transform_backup_instance_variable "${backup_instance_number}" MYSQL_EVENTS backup_job_mysql_events
226
227
transform_backup_instance_variable "${backup_instance_number}" MYSQL_MAX_ALLOWED_PACKET backup_job_mysql_max_allowed_packet
401
402
dbtype=mysql
402
403
backup_job_db_port=${backup_job_db_port:-3306}
403
404
check_var backup_job_db_name DB"${v_instance}"_NAME "database name. Seperate multiple with commas"
405
+ case "${backup_job_mysql_client,,}" in
406
+ mariadb )
407
+ _mysql_prefix=/usr/bin/
408
+ ;;
409
+ mysql )
410
+ _mysql_prefix=/opt/mysql/bin/
411
+ ;;
412
+ * )
413
+ print_error "I don't understand '${backup_job_mysql_client,,}' as a client. Exiting.."
414
+ exit 99
415
+ ;;
416
+ esac
417
+
418
+ print_debug "Using '${backup_job_mysql_client,,}' as client"
404
419
405
420
if [ -n "${backup_job_db_pass}" ] ; then export MYSQL_PWD=${backup_job_db_pass} ; fi
406
421
if var_true "${backup_job_mysql_enable_tls}" ; then
@@ -665,7 +680,7 @@ backup_mysql() {
665
680
666
681
if [ "${backup_job_db_name,,}" = "all" ] ; then
667
682
write_log debug "Preparing to back up everything except for information_schema and _* prefixes"
668
- db_names=$(run_as_user mysql -h ${backup_job_db_host} -P ${backup_job_db_port} -u${backup_job_db_user} ${mysql_tls_args} ${backup_job_extra_opts} ${backup_job_extra_enumeration_opts} --batch -e "SHOW DATABASES;" | grep -v Database | grep -v schema )
683
+ db_names=$(run_as_user ${_mysql_prefix} mysql -h ${backup_job_db_host} -P ${backup_job_db_port} -u${backup_job_db_user} ${mysql_tls_args} ${backup_job_extra_opts} ${backup_job_extra_enumeration_opts} --batch -e "SHOW DATABASES;" | grep -v Database | grep -v schema )
669
684
if [ -n "${backup_job_db_name_exclude}" ] ; then
670
685
db_names_exclusions=$(echo "${backup_job_db_name_exclude}" | tr ',' '\n')
671
686
for db_exclude in ${db_names_exclusions} ; do
@@ -682,13 +697,13 @@ backup_mysql() {
682
697
if var_true "${backup_job_split_db}" ; then
683
698
for db in ${db_names} ; do
684
699
prepare_dbbackup
685
- backup_job_filename=mysql_ ${db}_${backup_job_db_host,,}_${now}.sql
686
- backup_job_filename_base=mysql_ ${db}_${backup_job_db_host,,}
700
+ backup_job_filename=${backup_job_mysql_client,,}_ ${db}_${backup_job_db_host,,}_${now}.sql
701
+ backup_job_filename_base=${backup_job_mysql_client,,}_ ${db}_${backup_job_db_host,,}
687
702
compression
688
703
pre_dbbackup "${db}"
689
704
write_log notice "Dumping MySQL/MariaDB database: '${db}' ${compression_string}"
690
705
if var_true "${DEBUG_BACKUP_MYSQL}" ; then debug on; fi
691
- run_as_user ${play_fair} mysqldump --max-allowed-packet=${backup_job_mysql_max_allowed_packet} -h ${backup_job_db_host} -P ${backup_job_db_port} -u${backup_job_db_user} ${events} ${single_transaction} ${stored_procedures} ${mysql_tls_args} ${backup_job_extra_opts} ${backup_job_extra_backup_opts} $db | ${compress_cmd} | run_as_user tee "${temporary_directory}"/"${backup_job_filename}" > /dev/null
706
+ run_as_user ${play_fair} ${_mysql_prefix} mysqldump --max-allowed-packet=${backup_job_mysql_max_allowed_packet} -h ${backup_job_db_host} -P ${backup_job_db_port} -u${backup_job_db_user} ${events} ${single_transaction} ${stored_procedures} ${mysql_tls_args} ${backup_job_extra_opts} ${backup_job_extra_backup_opts} $db | ${compress_cmd} | run_as_user tee "${temporary_directory}"/"${backup_job_filename}" > /dev/null
692
707
exit_code=$?
693
708
if var_true "${DEBUG_BACKUP_MYSQL}" ; then debug off; fi
694
709
check_exit_code backup "${backup_job_filename}"
@@ -703,13 +718,13 @@ backup_mysql() {
703
718
else
704
719
write_log debug "Not splitting database dumps into their own files"
705
720
prepare_dbbackup
706
- backup_job_filename=mysql_all_ ${backup_job_db_host,,}_${now}.sql
707
- backup_job_filename_base=mysql_all_ ${backup_job_db_host,,}
721
+ backup_job_filename=${backup_job_mysql_client,,}_all_ ${backup_job_db_host,,}_${now}.sql
722
+ backup_job_filename_base=${backup_job_mysql_client,,}_all_ ${backup_job_db_host,,}
708
723
compression
709
724
pre_dbbackup all
710
725
write_log notice "Dumping all MySQL / MariaDB databases: '$(echo ${db_names} | xargs | tr ' ' ',')' ${compression_string}"
711
726
if var_true "${DEBUG_BACKUP_MYSQL}" ; then debug on; fi
712
- run_as_user ${play_fair} mysqldump --max-allowed-packet=${backup_job_mysql_max_allowed_packet} -h ${backup_job_db_host} -P ${backup_job_db_port} -u${backup_job_db_user} ${events} ${single_transaction} ${stored_procedures} ${mysql_tls_args} ${backup_job_extra_opts} ${backup_job_extra_backup_opts} --databases $(echo ${db_names} | xargs) | ${compress_cmd} | run_as_user tee "${temporary_directory}"/"${backup_job_filename}" > /dev/null
727
+ run_as_user ${play_fair} ${_mysql_prefix} mysqldump --max-allowed-packet=${backup_job_mysql_max_allowed_packet} -h ${backup_job_db_host} -P ${backup_job_db_port} -u${backup_job_db_user} ${events} ${single_transaction} ${stored_procedures} ${mysql_tls_args} ${backup_job_extra_opts} ${backup_job_extra_backup_opts} --databases $(echo ${db_names} | xargs) | ${compress_cmd} | run_as_user tee "${temporary_directory}"/"${backup_job_filename}" > /dev/null
713
728
exit_code=$?
714
729
if var_true "${DEBUG_BACKUP_MYSQL}" ; then debug off; fi
715
730
check_exit_code backup "${backup_job_filename}"
0 commit comments