discuzx3.5下备份mysql

[不指定 2024/05/09 21:38 | by admin ]
    discuzx3.5的mysql采用了innodb数据引擎,数据库较大时,通过后台备份有些不方便。而使用主机时,也不能直接使用拷贝数据库的方式进行备份或迁移了。
    主机采用了宝塔环境,使用它自带的mysql数据库备份,到新主机上恢复时发现只恢复了一小部分,故不使用bt自带的备份,重新添加一个mysqldump脚本进行备份(这里主要是指定字符集为utf8mb4,保留最近3天的备份,备份目录还是放在bt默认的备份目录内)。
操作如下:
点计划任务,添加任务:任务名称:备份数据库,代码:

#!/bin/bash
# This script will run at 01:00 everyday
rm -Rf /www/backup/database/mysql/dbname/dbname.$(date +%Y%m%d -d '2 days ago').tar.gz
/www/server/mysql/bin/mysqldump -u root -p[mysql root的密码] -c --default-character-set=utf8mb4 dbname | gzip> /www/backup/database/mysql/dbname/dbname.$(date -d "today" +"%Y%m%d").tar.gz


恢复时的命令方式为:

gunzip < dbname.tar.gz | mysql -hlocalhost -uroot -p[mysql root的密码]  dbname --default-character-set=utf8mb4
分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]