一尘不染

自动将所有mysql表转储到单独的文件中?

mysql

我想将每个mysql表转储到单独的文件中。手册指出此语法为

mysqldump [options] db_name [tbl_name ...]

这表示您事先知道表名称。我可以设置现在知道每个表名称的脚本,但是说我在路上添加了一个新表,却忘记了更新转储脚本。然后,我丢失了一个或多个表的转储。

有没有办法自动将每个现有表转储到单独的文件中?还是我必须做一些脚本补;查询数据库,获取所有表名,然后按名称转储它们。

如果我走了脚本之路,哪些脚本语言可以访问mysql数据库?


阅读 263

收藏
2020-05-17

共1个答案

一尘不染

mysqldump命令行程序会为您执行此操作-
尽管文档对此尚不清楚。

需要注意的一件事是〜/ output / dir必须是拥有mysqld的用户可写的。在Mac OS X上:

sudo chown -R _mysqld:_mysqld ~/output/dir
mysqldump --user=dbuser --password --tab=~/output/dir dbname

运行上述命令后,将有一个tablename.sql文件,其中包含每个表的架构(创建表语句),而tablename.txt文件中包含数据。

如果只想使用模式进行转储,请添加–no-data标志:

mysqldump --user=dbuser --password --no-data --tab=~/output/dir dbname
2020-05-17