Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql在.sql文件中逐表转储_Mysql_Dump - Fatal编程技术网

Mysql在.sql文件中逐表转储

Mysql在.sql文件中逐表转储,mysql,dump,Mysql,Dump,有没有办法通过控制台逐个转储数据库的所有表?我只想在暂存区导入其中的一些表和一些本地表,但不想两次导出大多数表(我需要一次70%和一次80%的数据库)。默认情况下会这样做。它为每个转储的表写入两个文件: database.table.sql(.gz) database.table schema.sql(.gz) 其中数据库和表是数据库和每个表的名称 如果你想用mysqldump做这件事,那会很尴尬。可能的解决办法: 使用mysqldump和--tables选项指定表的子集 使用--tab选

有没有办法通过控制台逐个转储数据库的所有表?我只想在暂存区导入其中的一些表和一些本地表,但不想两次导出大多数表(我需要一次70%和一次80%的数据库)。

默认情况下会这样做。它为每个转储的表写入两个文件:

  • database.table.sql(.gz)
  • database.table schema.sql(.gz)
其中
数据库
是数据库和每个表的名称

如果你想用mysqldump做这件事,那会很尴尬。可能的解决办法:

  • 使用mysqldump和
    --tables
    选项指定表的子集
  • 使用
    --tab
    选项转储CSV文件,每个表一个
  • 使用
    sed
    perl
    或其他一些文本过滤工具从单个转储文件中分离所需的表

编写一个脚本,从
信息\u SCHEMA.TABLES
获取所有表名,然后将每个表转储到自己的文件中。我使用
之类的
获取表列表,然后将它们全部转储到一个.sql文件中。太糟糕了-我们的宿主不允许非ubuntu核心repo。也许是一个很好的地方设置触摸。7秒内输出1.6GB DB,5分钟内输入。很快。