相关疑难解决方法(0)

mysqldump与db在一个单独的文件中

我正在编写一个单行命令,它将所有数据库备份到各自的名称中,而不是使用在一个sql中转储所有数据库.

例如:db1保存到db1.sql,db2保存到db2.sql

到目前为止,我收集了以下命令来检索所有数据库.

mysql -uuname -ppwd -e 'show databases' | grep -v 'Database'
Run Code Online (Sandbox Code Playgroud)

我打算用awk来管它做类似的事情

awk '{mysqldump -uuname -ppwd $1 > $1.sql}'
Run Code Online (Sandbox Code Playgroud)

但这不起作用.

我是bash的新手,所以我的想法可能是错的.
我该怎么做才能让它以各自的名义导出数据库?

更新:
好的,必须最终设法让它从下面的提示工作.
这是最后的脚本

# replace [] with your own config
# replace own dir to save
# echo doesn't work. hmm...

mysql -u[uname] -p'[pwd]' -e "show databases" \
| grep -Ev 'Database|information_schema' \
| while read dbname; \
do \
echo 'Dumping $dbname' \
mysqldump -u[uanme] -p'[pwd]' $dbname > ~/db_backup/$dbname.sql;\
done
Run Code Online (Sandbox Code Playgroud)

回声部分虽然不起作用.

bash backup awk mysqldump

26
推荐指数
4
解决办法
3万
查看次数

如何增量备份 SQLite 数据库?

我想高频率备份数据库,但是全量备份的成本是不能接受的。SQLite 似乎没有 API 可以直接进行增量备份。但我发现有一个数据更改通知回调似乎很有帮助。 https://www.sqlite.org/c3ref/update_hook.html 回调的参数是操作类型、数据库名称、表名称和行 ID。但是,我不知道是否可以通过这些信息生成该行日期的备份信息(例如SQL语句),而无需了解表的详细信息。这意味着,对于不同结构的表,是否有一种通用的方法可以为该操作生成备份?我知道有一些例外情况不会调用回调,如果我定期进行完整备份,我认为这是可以接受的。

sqlite backup

6
推荐指数
1
解决办法
4054
查看次数

标签 统计

backup ×2

awk ×1

bash ×1

mysqldump ×1

sqlite ×1