备份 MySQL 用户和权限

Web*_*net 5 mysql backup

我正在我的服务器上设置备份程序。我要备份所有文件、mysql 数据库等。我想知道是否有我可以备份的文件或位置以便能够“恢复”mysql 用户?

ale*_*oot 4

Mysql用户位于数据库Mysql的表用户中,要备份该表,您可以这样做:

mysqldump -u root -p mysql user > UserTableBackup.sql
Run Code Online (Sandbox Code Playgroud)

要备份 mysql 的所有数据库并为每个数据库创建一个文件,您可以编写自己的 shell 脚本,遵循一些可以帮助您的代码行:

    # Get all database list first
DBS="$($MYSQL -u $MyUSER -h $MyHOST -p$MyPASS -Bse 'show databases')"

echo `date +%Y%m%d_%H_%M_%S` - Backup Mysql Database Started >> /home/Backup/Backup.log 
for db in $DBS
do
    skipdb=-1
    if [ "$IGGY" != "" ];
    then
    for i in $IGGY
    do
        [ "$db" == "$i" ] && skipdb=1 || :
    done
    fi

    if [ "$skipdb" == "-1" ] ; then
    FILE="$MBD/$db.$HOST.$NOW.gz"
    # do all inone job in pipe,
    # connect to mysql using mysqldump for select mysql database
    # and pipe it out to gz file in backup dir :)
        echo `date +%Y%m%d_%H_%M_%S` - Backup "$db.$HOST.$NOW.gz" Started  >> /home/Backup/Backup.log
        $MYSQLDUMP -u $MyUSER -h $MyHOST -p$MyPASS --default-character-set=utf8 $db | $GZIP -9 > $FILE
        echo `date +%Y%m%d_%H_%M_%S` - Backup "$db.$HOST.$NOW.gz" Completed !  >> /home/Backup/Backup.log
    fi
done
Run Code Online (Sandbox Code Playgroud)