首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否备份所有数据库的每个表并保存到本地目录?

是否备份所有数据库的每个表并保存到本地目录?
EN

Stack Overflow用户
提问于 2013-08-06 04:14:33
回答 2查看 331关注 0票数 1

我到处都找过了..但是找不到任何完美的解决方案(免费),我可以下载所有数据库的备份->单独的表,这样我就可以在任何时候恢复我想要的任何表,而不必恢复整个数据库。

我使用mysql数据库,我有大约10-15个数据库和100+表在每个。

我可以看到“mysql的自动备份”可以做到这一点。但是差不多100块钱..我想知道我是否可以使用终端或任何其他工具。我想每天做备份..并希望每个table.sql文件都包含日期和时间。

有可能吗??

EN

回答 2

Stack Overflow用户

发布于 2013-08-06 04:21:07

使用mysqldump

你想要什么的一个例子

代码语言:javascript
运行
复制
mysqldump --user=dbuser --password --tab=~/output/dir --all-databases

这将为用户具有读取和锁定访问权限的所有数据库在~/output/dir中放置一个单独的sql文件

可在此处找到命令的完整列表

http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html

票数 1
EN

Stack Overflow用户

发布于 2013-08-06 04:24:37

首先创建一个表列表

如果您正在执行所有数据库操作,请执行以下操作:

代码语言:javascript
运行
复制
SQLSTMT="SELECT CONCAT(table_schema,'.',table_name)"
SQLSTMT="${SQLSTMT} FROM information_schema.tables WHERE table_schema NOT IN"
SQLSTMT="#{SQLSTMT} ('information_schema','mysql','performance_schema')"
mysql -h... -u... -p... -ANe"${SQLSTMT}" > /tmp/ListOfTables.txt

如果您只执行特定的数据库(如mydb),则执行以下操作:

代码语言:javascript
运行
复制
SQLSTMT="SELECT CONCAT(table_schema,'.',table_name)"
SQLSTMT="${SQLSTMT} FROM information_schema.tables "
SQLSTMT="${SQLSTMT} WHERE table_schema='mydb'"
mysql -h... -u... -p... -ANe"${SQLSTMT}" > /tmp/ListOfTables.txt

然后以10个为一组转储所有表

代码语言:javascript
运行
复制
TARGET_FOLDER=/backups/mysql
COMMIT_COUNT=0
COMMIT_LIMIT=10
for DBTB in `cat /tmp/ListOfTables.txt`
do
    DB=`echo ${DBTB} | sed 's/\./ /g' | awk '{print $1}'`
    TB=`echo ${DBTB} | sed 's/\./ /g' | awk '{print $2}'`
    BACKUP_FILE=${TARGET_FOLDER}/${DB}_${TB}.sql.gz
    MYSQLDUMP_OPTIONS="-h... -u... -p... --hex-blob --triggers"
    mysqldump ${MYSQLDUMP_OPTIONS} ${DB} ${TB} | gzip > ${BACKUP_FILE} &
    (( COMMIT_COUNT++ ))
    if [ ${COMMIT_COUNT} -eq ${COMMIT_LIMIT} ]
    then
        COMMIT_COUNT=0
        wait
    fi
done
if [ ${COMMIT_COUNT} -gt 0 ]
then
    wait
fi

试一试吧!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18066897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档