mysql_backup.sh: fix errors in creating user creation statements.
This commit is contained in:
parent
684b9b35fe
commit
0e1c26b2b8
@ -89,6 +89,7 @@ fi
|
|||||||
if [ $srcHost != "localhost" ] || $_via_ssh_tunnel ;then
|
if [ $srcHost != "localhost" ] || $_via_ssh_tunnel ;then
|
||||||
mysql=`$ssh ${ssh_user}@$srcHost which mysql`
|
mysql=`$ssh ${ssh_user}@$srcHost which mysql`
|
||||||
mysqldump=`$ssh ${ssh_user}@$srcHost which mysqldump`
|
mysqldump=`$ssh ${ssh_user}@$srcHost which mysqldump`
|
||||||
|
mysqld="$($ssh ${ssh_user}@$srcHost which mysqld)"
|
||||||
ssh_options="-o BatchMode=yes -o ConnectTimeout=360"
|
ssh_options="-o BatchMode=yes -o ConnectTimeout=360"
|
||||||
else
|
else
|
||||||
mysql=`which mysql`
|
mysql=`which mysql`
|
||||||
@ -128,6 +129,15 @@ fi
|
|||||||
|
|
||||||
MYSQL_VERSION_NUM=`echo $MYSQL_VERSION | awk -F \. '{ printf "%02d", $1; printf "%02d", $2; printf "%02d", $3 }'`
|
MYSQL_VERSION_NUM=`echo $MYSQL_VERSION | awk -F \. '{ printf "%02d", $1; printf "%02d", $2; printf "%02d", $3 }'`
|
||||||
|
|
||||||
|
|
||||||
|
if [[ "${MYSQL_VERSION,,}" =~ mariadb ]]; then
|
||||||
|
MYSQL_DISTRIBUTION="MariaDB"
|
||||||
|
else
|
||||||
|
MYSQL_DISTRIBUTION="MySQL"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if [ ! -d $_backupDestArchiveDir ]; then
|
if [ ! -d $_backupDestArchiveDir ]; then
|
||||||
mkdir -p $_backupDestArchiveDir
|
mkdir -p $_backupDestArchiveDir
|
||||||
fi
|
fi
|
||||||
@ -150,14 +160,14 @@ if $ARCHIVE ;then
|
|||||||
if [ $srcHost != "localhost" ] || $_via_ssh_tunnel ;then
|
if [ $srcHost != "localhost" ] || $_via_ssh_tunnel ;then
|
||||||
if [ -n "$mysql_credential_args" ] ; then
|
if [ -n "$mysql_credential_args" ] ; then
|
||||||
$(
|
$(
|
||||||
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql $mysql_credential_args -N -s -A -e\"SELECT CONCAT('SHOW GRANTS FOR ''',user,'''@''',host,''';') FROM mysql.user WHERE user<>''\" | $mysql $mysql_credential_args -N -s -A | sed 's/\$/;/g'" \
|
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql $mysql_credential_args -N -s -A -e\"SELECT CONCAT('SHOW GRANTS FOR ''',user,'''@''',host,''';') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'\" | $mysql $mysql_credential_args -N -s -A | sed 's/\$/;/g'" \
|
||||||
> ${_backupDestArchiveDir}/MySQLGrants.sql-${filedate}.sql 2> $err_Log
|
> ${_backupDestArchiveDir}/MySQLGrants.sql-${filedate}.sql 2> $err_Log
|
||||||
exit $?
|
exit $?
|
||||||
)
|
)
|
||||||
retval=$?
|
retval=$?
|
||||||
else
|
else
|
||||||
$(
|
$(
|
||||||
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql -u$mysql_user -p$mysql_password -N -s -A -e\"SELECT CONCAT('SHOW GRANTS FOR ''',user,'''@''',host,''';') FROM mysql.user WHERE user<>''\" | $mysql -u$mysql_user -p$mysql_password -N -s -A | sed 's/\$/;/g'" \
|
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql -u$mysql_user -p$mysql_password -N -s -A -e\"SELECT CONCAT('SHOW GRANTS FOR ''',user,'''@''',host,''';') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'\" | $mysql -u$mysql_user -p$mysql_password -N -s -A | sed 's/\$/;/g'" \
|
||||||
> ${_backupDestArchiveDir}/MySQLGrants.sql-${filedate}.sql 2> $err_Log
|
> ${_backupDestArchiveDir}/MySQLGrants.sql-${filedate}.sql 2> $err_Log
|
||||||
exit $?
|
exit $?
|
||||||
)
|
)
|
||||||
@ -166,14 +176,14 @@ if $ARCHIVE ;then
|
|||||||
else
|
else
|
||||||
if [ -n "$mysql_credential_args" ] ; then
|
if [ -n "$mysql_credential_args" ] ; then
|
||||||
$(
|
$(
|
||||||
$mysql $mysql_credential_args -N -s -A -e"SELECT CONCAT('SHOW GRANTS FOR ''',user,'''@''',host,''';') FROM mysql.user WHERE user<>''" | $mysql $mysql_credential_args -N -s -A | sed 's/\$/;/g' \
|
$mysql $mysql_credential_args -N -s -A -e"SELECT CONCAT('SHOW GRANTS FOR ''',user,'''@''',host,''';') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'" | $mysql $mysql_credential_args -N -s -A | sed 's/\$/;/g' \
|
||||||
> ${_backupDestArchiveDir}/MySQLGrants.sql-${filedate}.sql 2> $err_Log
|
> ${_backupDestArchiveDir}/MySQLGrants.sql-${filedate}.sql 2> $err_Log
|
||||||
exit $?
|
exit $?
|
||||||
)
|
)
|
||||||
retval=$?
|
retval=$?
|
||||||
else
|
else
|
||||||
$(
|
$(
|
||||||
$mysql -u$mysql_user -p$mysql_password -N -s -A -e"SELECT CONCAT('SHOW GRANTS FOR ''',user,'''@''',host,''';') FROM mysql.user WHERE user<>''" | $mysql -u$mysql_user -p$mysql_password -N -s -A | sed 's/\$/;/g' \
|
$mysql -u$mysql_user -p$mysql_password -N -s -A -e"SELECT CONCAT('SHOW GRANTS FOR ''',user,'''@''',host,''';') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'" | $mysql -u$mysql_user -p$mysql_password -N -s -A | sed 's/\$/;/g' \
|
||||||
> ${_backupDestArchiveDir}/MySQLGrants.sql-${filedate}.sql 2> $err_Log
|
> ${_backupDestArchiveDir}/MySQLGrants.sql-${filedate}.sql 2> $err_Log
|
||||||
exit $?
|
exit $?
|
||||||
)
|
)
|
||||||
@ -250,6 +260,7 @@ if $ARCHIVE ;then
|
|||||||
## -
|
## -
|
||||||
## - We provide two different version ..
|
## - We provide two different version ..
|
||||||
## -
|
## -
|
||||||
|
if [[ "$MYSQL_DISTRIBUTION" = "MySQL" ]] ; then
|
||||||
if [ "$MYSQL_VERSION_NUM" -ge 050700 ]; then
|
if [ "$MYSQL_VERSION_NUM" -ge 050700 ]; then
|
||||||
|
|
||||||
## -----------------------------
|
## -----------------------------
|
||||||
@ -473,10 +484,45 @@ if $ARCHIVE ;then
|
|||||||
|
|
||||||
elif [ $MYSQL_VERSION_NUM -ge 050600 ]; then
|
elif [ $MYSQL_VERSION_NUM -ge 050600 ]; then
|
||||||
|
|
||||||
|
## -----------------------------
|
||||||
|
## - User Craetion sql statements for MySQL 5.7.x
|
||||||
|
## -
|
||||||
|
info_msg="create User creation SQL file for MySQL 5.7.x"
|
||||||
|
echononl "\t$info_msg"
|
||||||
|
|
||||||
|
## - begin timestamp
|
||||||
|
## -
|
||||||
|
b_timestamp=`$date +"%s"`
|
||||||
|
|
||||||
|
filedate=`$date +"%Y-%m-%d-%H%M"`
|
||||||
|
|
||||||
if [ $srcHost != "localhost" ] || $_via_ssh_tunnel ;then
|
if [ $srcHost != "localhost" ] || $_via_ssh_tunnel ;then
|
||||||
if [ -n "$mysql_credential_args" ] ; then
|
if [ -n "$mysql_credential_args" ] ; then
|
||||||
$(
|
$(
|
||||||
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql $mysql_credential_args -N -s -A -e\"SELECT DISTINCT CONCAT('CREATE USER ''',user,'''@''localhost'' IDENTIFIED WITH mysql_native_password BY ''',password,'''; ') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'\"" \
|
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql $mysql_credential_args -N -s -A -e\"SELECT DISTINCT CONCAT('CREATE USER ''',user,'''@''localhost'' IDENTIFIED WITH mysql_native_password AS ''',password,'''; ') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'\"" \
|
||||||
|
> ${_backupDestArchiveDir}/MySQLCreateUser-for-MySQL-5.7.sql-${filedate}.sql 2> $err_Log
|
||||||
|
exit $?
|
||||||
|
)
|
||||||
|
retval=$?
|
||||||
|
else
|
||||||
|
$(
|
||||||
|
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql -u$mysql_user -p$mysql_password -N -s -A -e\"SELECT DISTINCT CONCAT('CREATE USER ''',user,'''@''localhost'' IDENTIFIED WITH mysql_native_password AS ''',password,'''; ') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'\"" \
|
||||||
|
> ${_backupDestArchiveDir}/MySQLCreateUser-for-MySQL-5.7.sql-${filedate}.sql 2> $err_Log
|
||||||
|
exit $?
|
||||||
|
)
|
||||||
|
retval=$?
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if [ -n "$mysql_credential_args" ] ; then
|
||||||
|
$(
|
||||||
|
$mysql $mysql_credential_args -N -s -A -e"SELECT DISTINCT CONCAT('CREATE USER ''',user,'''@''localhost'' IDENTIFIED WITH mysql_native_password AS ''',password,'''; ') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'" \
|
||||||
|
> ${_backupDestArchiveDir}/MySQLCreateUser-for-MySQL-5.7.sql-${filedate}.sql 2> $err_Log
|
||||||
|
exit $?
|
||||||
|
)
|
||||||
|
retval=$?
|
||||||
|
else
|
||||||
|
$(
|
||||||
|
$mysql -u$mysql_user -p$mysql_password -N -s -A -e"SELECT DISTINCT CONCAT('CREATE USER ''',user,'''@''localhost'' IDENTIFIED WITH mysql_native_password AS ''',password,'''; ') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'" \
|
||||||
> ${_backupDestArchiveDir}/MySQLCreateUser-for-MySQL-5.7.sql-${filedate}.sql 2> $err_Log
|
> ${_backupDestArchiveDir}/MySQLCreateUser-for-MySQL-5.7.sql-${filedate}.sql 2> $err_Log
|
||||||
exit $?
|
exit $?
|
||||||
)
|
)
|
||||||
@ -484,8 +530,294 @@ if $ARCHIVE ;then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
err_msg="Cannot create User Creation SQL file for MySQL 5.7.x"
|
||||||
|
keep_backup_on_error=false
|
||||||
|
|
||||||
|
if [ "$retval" = 0 ];then
|
||||||
|
[ -z $mysql_gzip ] && mysql_gzip=false
|
||||||
|
if $mysql_gzip ; then
|
||||||
|
$gzip ${_backupDestArchiveDir}/MySQLCreateUser-for-MySQL-5.7.sql-${filedate}.sql 2> $err_Log
|
||||||
|
retval=$?
|
||||||
|
err_msg="Cannot gzip \"MySQLCreateUser-for-MySQL-5.7.sql-${filedate}.sql\""
|
||||||
|
keep_backup_on_error=true
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
## - end timestamp
|
||||||
|
## -
|
||||||
|
e_timestamp=`$date +"%s"`
|
||||||
|
|
||||||
|
## - determin duration
|
||||||
|
## -
|
||||||
|
_time=`expr $e_timestamp - $b_timestamp`
|
||||||
|
t_h=`expr $_time / 60 / 60`
|
||||||
|
t_rest_h=`expr $_time - $t_h \\* 60 \\* 60`
|
||||||
|
t_m=`expr $t_rest_h / 60`
|
||||||
|
t_s=`expr $t_rest_h - $t_m \\* 60`
|
||||||
|
duration=""
|
||||||
|
if [ $t_h -gt 0 ]; then
|
||||||
|
duration="$t_h h : $t_m min : $t_s sec"
|
||||||
|
elif [ $t_m -gt 0 ];then
|
||||||
|
duration="$t_m min : $t_s sec"
|
||||||
|
else
|
||||||
|
duration="$t_s sec"
|
||||||
|
fi
|
||||||
|
|
||||||
|
## - look about errors..
|
||||||
|
## -
|
||||||
|
if [ "$retval" != "0" ]; then
|
||||||
|
echolog ""
|
||||||
|
echolog "\t[ERROR] ${err_msg} [ $duration ]\n\t`$cat $err_Log`\n"
|
||||||
|
if ! $keep_backup_on_error ; then
|
||||||
|
rm -f ${_backupDestArchiveDir}/MySQLCreateUser-for-MySQL-5.7.sql-${filedate}.sql
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
|
||||||
|
## - print durations right-aligned
|
||||||
|
## -
|
||||||
|
[ -z $right_tabstop ] && right_tabstop=65
|
||||||
|
_tmp_string="${info_msg}${duration}"
|
||||||
|
_strlen=${#_tmp_string}
|
||||||
|
_count_blank=`expr $right_tabstop - $_strlen`
|
||||||
|
_str_blanks=""
|
||||||
|
while [ $_count_blank -gt 1 ]; do
|
||||||
|
_str_blanks="$_str_blanks "
|
||||||
|
_count_blank=`expr $_count_blank - 1`
|
||||||
|
done
|
||||||
|
echononl "$_str_blanks"
|
||||||
|
|
||||||
|
echolog " [ $duration ]"
|
||||||
|
fi
|
||||||
|
|
||||||
|
## - Create User Craetion sql statements for MySQL 5.7.x
|
||||||
|
## ----------------------------------
|
||||||
|
|
||||||
fi # End: if [ "$MYSQL_VERSION_NUM" -ge 050700 ]; then
|
fi # End: if [ "$MYSQL_VERSION_NUM" -ge 050700 ]; then
|
||||||
|
|
||||||
|
elif [[ "$MYSQL_DISTRIBUTION" = "MariaDB" ]] ; then
|
||||||
|
|
||||||
|
## -----------------------------
|
||||||
|
## - Create User Craetion sql statements (MariaDB)
|
||||||
|
## -
|
||||||
|
info_msg="create User creation SQL file (MariaDB)"
|
||||||
|
echononl "\t$info_msg"
|
||||||
|
|
||||||
|
## - begin timestamp
|
||||||
|
## -
|
||||||
|
b_timestamp=`$date +"%s"`
|
||||||
|
|
||||||
|
filedate=`$date +"%Y-%m-%d-%H%M"`
|
||||||
|
|
||||||
|
if [ $srcHost != "localhost" ] || $_via_ssh_tunnel ;then
|
||||||
|
if [ -n "$mysql_credential_args" ] ; then
|
||||||
|
$(
|
||||||
|
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql $mysql_credential_args -N -s -A -e\"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS''',user,'''@''localhost''; UPDATE user SET password = ''',password,''' WHERE user = ''',user,'''; FLUSH PRIVILEGES;') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'\"" \
|
||||||
|
> ${_backupDestArchiveDir}/MySQLCreateUser.sql-${filedate}.sql 2> $err_Log
|
||||||
|
exit $?
|
||||||
|
)
|
||||||
|
retval=$?
|
||||||
|
else
|
||||||
|
$(
|
||||||
|
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql -u$mysql_user -p$mysql_password -N -s -A -e\"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS ''',user,'''@''localhost''; UPDATE user SET password = ''',password,''' WHERE user = ''',user,'''; FLUSH PRIVILEGES;') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'\"" \
|
||||||
|
> ${_backupDestArchiveDir}/MySQLCreateUser.sql-${filedate}.sql 2> $err_Log
|
||||||
|
exit $?
|
||||||
|
)
|
||||||
|
retval=$?
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if [ -n "$mysql_credential_args" ] ; then
|
||||||
|
$(
|
||||||
|
$mysql $mysql_credential_args -N -s -A -e"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS''',user,'''@''localhost''; UPDATE user SET password = ''',password,''' WHERE user = ''',user,'''; FLUSH PRIVILEGES;') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'" \
|
||||||
|
> ${_backupDestArchiveDir}/MySQLCreateUser.sql-${filedate}.sql 2> $err_Log
|
||||||
|
exit $?
|
||||||
|
)
|
||||||
|
retval=$?
|
||||||
|
else
|
||||||
|
$(
|
||||||
|
$mysql -u$mysql_user -p$mysql_password -N -s -A -e"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS''',user,'''@''localhost''; UPDATE user SET password = ''',password,''' WHERE user = ''',user,'''; FLUSH PRIVILEGES;') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'" \
|
||||||
|
> ${_backupDestArchiveDir}/MySQLCreateUser.sql-${filedate}.sql 2> $err_Log
|
||||||
|
exit $?
|
||||||
|
)
|
||||||
|
retval=$?
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
err_msg="Cannot create User Creation SQL file (MariaDB)"
|
||||||
|
keep_backup_on_error=false
|
||||||
|
|
||||||
|
if [ "$retval" = 0 ];then
|
||||||
|
[ -z $mysql_gzip ] && mysql_gzip=false
|
||||||
|
if $mysql_gzip ; then
|
||||||
|
$gzip ${_backupDestArchiveDir}/MySQLCreateUser.sql-${filedate}.sql 2> $err_Log
|
||||||
|
retval=$?
|
||||||
|
err_msg="Cannot gzip \"MySQLCreateUser.sql-${filedate}.sql\""
|
||||||
|
keep_backup_on_error=true
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
## - end timestamp
|
||||||
|
## -
|
||||||
|
e_timestamp=`$date +"%s"`
|
||||||
|
|
||||||
|
## - determin duration
|
||||||
|
## -
|
||||||
|
_time=`expr $e_timestamp - $b_timestamp`
|
||||||
|
t_h=`expr $_time / 60 / 60`
|
||||||
|
t_rest_h=`expr $_time - $t_h \\* 60 \\* 60`
|
||||||
|
t_m=`expr $t_rest_h / 60`
|
||||||
|
t_s=`expr $t_rest_h - $t_m \\* 60`
|
||||||
|
duration=""
|
||||||
|
if [ $t_h -gt 0 ]; then
|
||||||
|
duration="$t_h h : $t_m min : $t_s sec"
|
||||||
|
elif [ $t_m -gt 0 ];then
|
||||||
|
duration="$t_m min : $t_s sec"
|
||||||
|
else
|
||||||
|
duration="$t_s sec"
|
||||||
|
fi
|
||||||
|
|
||||||
|
## - look about errors..
|
||||||
|
## -
|
||||||
|
if [ "$retval" != "0" ]; then
|
||||||
|
echolog ""
|
||||||
|
echolog "\t[ERROR] ${err_msg} [ $duration ]\n\t`$cat $err_Log`\n"
|
||||||
|
if ! $keep_backup_on_error ; then
|
||||||
|
rm -f ${_backupDestArchiveDir}/MySQLCreateUser.sql-${filedate}.sql
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
|
||||||
|
## - print durations right-aligned
|
||||||
|
## -
|
||||||
|
[ -z $right_tabstop ] && right_tabstop=65
|
||||||
|
_tmp_string="${info_msg}${duration}"
|
||||||
|
_strlen=${#_tmp_string}
|
||||||
|
_count_blank=`expr $right_tabstop - $_strlen`
|
||||||
|
_str_blanks=""
|
||||||
|
while [ $_count_blank -gt 1 ]; do
|
||||||
|
_str_blanks="$_str_blanks "
|
||||||
|
_count_blank=`expr $_count_blank - 1`
|
||||||
|
done
|
||||||
|
echononl "$_str_blanks"
|
||||||
|
|
||||||
|
echolog " [ $duration ]"
|
||||||
|
fi
|
||||||
|
|
||||||
|
## - End: Create User Craetion sql statements (MariaDB)
|
||||||
|
## ----------------------------------
|
||||||
|
|
||||||
|
## -----------------------------
|
||||||
|
## - Create User Craetion sql statements for MySQL 5.7.x (from MariaDB)
|
||||||
|
## -
|
||||||
|
info_msg="create User creation SQL file for MySQL 5.7.x (from MariaDB)"
|
||||||
|
echononl "\t$info_msg"
|
||||||
|
|
||||||
|
## - begin timestamp
|
||||||
|
## -
|
||||||
|
b_timestamp=`$date +"%s"`
|
||||||
|
|
||||||
|
filedate=`$date +"%Y-%m-%d-%H%M"`
|
||||||
|
|
||||||
|
if [ $srcHost != "localhost" ] || $_via_ssh_tunnel ;then
|
||||||
|
if [ -n "$mysql_credential_args" ] ; then
|
||||||
|
$(
|
||||||
|
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql $mysql_credential_args -N -s -A -e\"SELECT DISTINCT CONCAT('CREATE USER ''',user,'''@''localhost'' IDENTIFIED WITH mysql_native_password ; UPDATE user SET authentication_string = ''',password,''' WHERE user = ''',user,'''; FLUSH PRIVILEGES;') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'\"" \
|
||||||
|
> ${_backupDestArchiveDir}/MySQLCreateUser-for-MySQL-5.7..sql-${filedate}.sql 2> $err_Log
|
||||||
|
exit $?
|
||||||
|
)
|
||||||
|
retval=$?
|
||||||
|
else
|
||||||
|
$(
|
||||||
|
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql -u$mysql_user -p$mysql_password -N -s -A -e\"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS ''',user,'''@''localhost'' IDENTIFIED WITH mysql_native_password ; UPDATE user SET authentication_string = ''',password,''' WHERE user = ''',user,'''; FLUSH PRIVILEGES;') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'\"" \
|
||||||
|
> ${_backupDestArchiveDir}/MySQLCreateUser-for-MySQL-5.7..sql-${filedate}.sql 2> $err_Log
|
||||||
|
exit $?
|
||||||
|
)
|
||||||
|
retval=$?
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if [ -n "$mysql_credential_args" ] ; then
|
||||||
|
$(
|
||||||
|
$mysql $mysql_credential_args -N -s -A -e"SELECT DISTINCT CONCAT('CREATE USER ''',user,'''@''localhost'' IDENTIFIED WITH mysql_native_password ; UPDATE user SET authentication_string = ''',password,''' WHERE user = ''',user,'''; FLUSH PRIVILEGES;') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'" \
|
||||||
|
> ${_backupDestArchiveDir}/MySQLCreateUser-for-MySQL-5.7..sql-${filedate}.sql 2> $err_Log
|
||||||
|
exit $?
|
||||||
|
)
|
||||||
|
retval=$?
|
||||||
|
else
|
||||||
|
$(
|
||||||
|
$mysql -u$mysql_user -p$mysql_password -N -s -A -e"SELECT DISTINCT CONCAT('CREATE USER ''',user,'''@''localhost'' IDENTIFIED WITH mysql_native_password ; UPDATE user SET authentication_string = ''',password,''' WHERE user = ''',user,'''; FLUSH PRIVILEGES;') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'" \
|
||||||
|
> ${_backupDestArchiveDir}/MySQLCreateUser-for-MySQL-5.7..sql-${filedate}.sql 2> $err_Log
|
||||||
|
exit $?
|
||||||
|
)
|
||||||
|
retval=$?
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
err_msg="Cannot create User Creation SQL file for MySQL-5.7.x (MariaDB)"
|
||||||
|
keep_backup_on_error=false
|
||||||
|
|
||||||
|
if [ "$retval" = 0 ];then
|
||||||
|
[ -z $mysql_gzip ] && mysql_gzip=false
|
||||||
|
if $mysql_gzip ; then
|
||||||
|
$gzip ${_backupDestArchiveDir}/MySQLCreateUser-for-MySQL-5.7.sql-${filedate}.sql 2> $err_Log
|
||||||
|
retval=$?
|
||||||
|
err_msg="Cannot gzip \"MySQLCreateUser-for-MySQL-5.7.sql-${filedate}.sql\""
|
||||||
|
keep_backup_on_error=true
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
## - end timestamp
|
||||||
|
## -
|
||||||
|
e_timestamp=`$date +"%s"`
|
||||||
|
|
||||||
|
## - determin duration
|
||||||
|
## -
|
||||||
|
_time=`expr $e_timestamp - $b_timestamp`
|
||||||
|
t_h=`expr $_time / 60 / 60`
|
||||||
|
t_rest_h=`expr $_time - $t_h \\* 60 \\* 60`
|
||||||
|
t_m=`expr $t_rest_h / 60`
|
||||||
|
t_s=`expr $t_rest_h - $t_m \\* 60`
|
||||||
|
duration=""
|
||||||
|
if [ $t_h -gt 0 ]; then
|
||||||
|
duration="$t_h h : $t_m min : $t_s sec"
|
||||||
|
elif [ $t_m -gt 0 ];then
|
||||||
|
duration="$t_m min : $t_s sec"
|
||||||
|
else
|
||||||
|
duration="$t_s sec"
|
||||||
|
fi
|
||||||
|
|
||||||
|
## - look about errors..
|
||||||
|
## -
|
||||||
|
if [ "$retval" != "0" ]; then
|
||||||
|
echolog ""
|
||||||
|
echolog "\t[ERROR] ${err_msg} [ $duration ]\n\t`$cat $err_Log`\n"
|
||||||
|
if ! $keep_backup_on_error ; then
|
||||||
|
rm -f ${_backupDestArchiveDir}/MySQLCreateUser-for-MySQL-5.7.sql-${filedate}.sql
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
|
||||||
|
## - print durations right-aligned
|
||||||
|
## -
|
||||||
|
[ -z $right_tabstop ] && right_tabstop=65
|
||||||
|
_tmp_string="${info_msg}${duration}"
|
||||||
|
_strlen=${#_tmp_string}
|
||||||
|
_count_blank=`expr $right_tabstop - $_strlen`
|
||||||
|
_str_blanks=""
|
||||||
|
while [ $_count_blank -gt 1 ]; do
|
||||||
|
_str_blanks="$_str_blanks "
|
||||||
|
_count_blank=`expr $_count_blank - 1`
|
||||||
|
done
|
||||||
|
echononl "$_str_blanks"
|
||||||
|
|
||||||
|
echolog " [ $duration ]"
|
||||||
|
fi
|
||||||
|
|
||||||
|
## - End: Create User Craetion sql statements for MySQL 5.7.x (from MariaDB)
|
||||||
|
## ----------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
fi # End: if [[ "$MYSQL_DISTRIBUTION" = "MySQL" ]] ; then
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## -----------------------------
|
## -----------------------------
|
||||||
|
Loading…
Reference in New Issue
Block a user