MySQL转储不捕获位于视图之后的表

时间:2016-11-09 18:34:00

标签: python mysql amazon-s3

我有一个具有以下结构的数据库:

mysql> show tables;

+--------------------+
| Tables_in_my_PROD  |
+--------------------+
| table_A            |
| Table_B            |
| table_C            |
| view_A             |
| table_D            |
| table_E            | 
| ...                |
+--------------------+

我使用脚本制作整个数据库的gzip转储文件,然后将该文件上传到Amazon S3。创建转储文件的python代码如下:

dump_cmd = ['mysqldump ' +
            '--user={mysql_user} '.format(mysql_user=cfg.DB_USER) +
            '--password={db_pw} '.format(db_pw=cfg.DB_PW) +
            '--host={db_host} '.format(db_host=cfg.DB_HOST) +
            '{db_name} '.format(db_name=cfg.DB_NAME) +
            '| ' +
            'gzip ' +
            '> ' +
            '{filepath}'.format(filepath=self.filename)]

dc = subprocess.Popen(dump_cmd, shell=True)
dc.wait()

这会创建zip文件。接下来,我使用python的boto库将其上传到Amazon S3。

当我从该zip文件恢复数据库时,我只恢复了表A,B和C.表D和E无处可寻。

表D和E位于视图

之后

该视图是否存在导致问题的问题?我不知道表是否被转储到文件中,因为我不知道如何查看该文件(table_B有800万行,任何检查文件的尝试都会崩溃所有内容)

我正在使用Mariadb版

+-------------------------+------------------+
| Variable_name           | Value            |
+-------------------------+------------------+
| innodb_version          | 5.6.23-72.1      |
| protocol_version        | 10               |
| slave_type_conversions  |                  |
| version                 | 10.0.19-MariaDB  |
| version_comment         | MariaDB Server   |
| version_compile_machine | x86_64           |
| version_compile_os      | Linux            |
| version_malloc_library  | bundled jemalloc |
+-------------------------+------------------+

0 个答案:

没有答案