mysql 备份的权限_Mysql 数据库备份权限

mysqldump命令没有备份权限的功能,作为一个数据库完整的备份,还需要备份权限,备份脚本如下:

#!/bin/bash

MysqlUser=xxx

MysqlPass=xxx

MysqlCharset=utf8

MysqlBinPath=/usr/local/mysql/bin

MYSQL_BIN=$MysqlBinPath/mysql

MYSQL_USER_PASS=" -u$MysqlUser -p$MysqlPass"

MysqlBackupDir=/home/mysql

do_backup_grant_priv()

{

split=\`

special=`$MYSQL_BIN $MYSQL_USER_PASS --default-character-set=$MysqlCharset -Bse "select user, host from mysql.user;" | grep "$split" |wc -l `

if [ $special -eq 0 ];then

split=\`

else

special=`$MYSQL_BIN $MYSQL_USER_PASS --default-character-set=$MysqlCharset -Bse "select user, host from mysql.user;" | grep -E "'" |wc -l `

if [ $special -eq 0 ];then

split=\'\'

else

echo "Error:the username have special char"

exit

fi

fi

for SQLUSER in `$MYSQL_BIN $MYSQL_USER_PASS --default-character-set=$MysqlCharset -Bse "select concat('$split', user, '$split', '@', '''', host, '''') from mysql.user;"`

do

$MYSQL_BIN $MYSQL_USER_PASS --default-character-set=$MysqlCharset -Bse "show grants for $SQLUSER;" | sed 's/$/;/g' >> $MysqlBackupDir/privileges_backup_`date +%Y%m%d%H`.sql

done

}

do_backup_grant_priv

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值