我想将每个mysql表转储到单独的文件中。手册指出此语法为
mysqldump [options] db_name [tbl_name ...]
这表示您事先知道表名称。我可以设置现在知道每个表名称的脚本,但是说我在路上添加了一个新表,却忘记了更新转储脚本。然后,我丢失了一个或多个表的转储。
有没有办法自动将每个现有表转储到单独的文件中?还是我必须做一些脚本补;查询数据库,获取所有表名,然后按名称转储它们。
如果我走了脚本之路,哪些脚本语言可以访问mysql数据库?
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