【问题标题】:How can I use mysqldump with --hex-blob in gulpfile?如何在 gulpfile 中将 mysqldump 与 --hex-blob 一起使用?
【发布时间】:2019-04-03 20:33:11
【问题描述】:

我有一个 gulpfile.js。我想转储 mysql 数据库,但“varbinary”类型有问题,所以我想使用 arg --hex-blob 因为这是其他人在这里遇到同样问题的解决方案。

问题是使用 mysqldump 的导出看起来与使用 phpmyadmin 的导出不同。 "varbinary" 总是用 MySQL-Server 中不存在的 "NOFORMAT_WRAP" 函数包装。

mysqldump 是来自 npm 的最新版本。

谢谢。

用mysqldump创建的dump.sql:

INSERT INTO
  `session` (`session_id`) VALUES
  (NOFORMAT_WRAP(
      "##X'316236316d396d683275716834636d6b697035756e6b39766d67'##"
    )

与 phpmyadmin 相同(这是预期的):

INSERT INTO `session` (`session_id`) VALUES
(0x316236316d396d683275716834636d6b697035756e6b39766d67)

gulpfile.js:

const mysqlDump     = require('mysqldump');

// database dump
gulp.task('dumpDatabase', () => {
    return mysqlDump({
        connection: {
            host: 'localhost',
            user: 'who',
            password: 'pass',
            database: 'test'
        },
        dumpToFile: '../../../database/backup-' + today + '.sql'
    });
});

gulp.task('default', gulp.series('dumpDatabase'));

【问题讨论】:

    标签: mysql npm gulp binary


    【解决方案1】:

    https://www.npmjs.com/package/mysqldump 中,您可以获得完整的选项列表。

    在您的情况下,您需要像这样添加转储选项。

    // database dump
    gulp.task('dumpDatabase', () => {
        return mysqlDump({
            connection: {
                host: 'localhost',
                user: 'who',
                password: 'pass',
                database: 'test'
            },
            dump: {
                data: {
                    format : false
                }
            },
            dumpToFile: '../../../database/backup-' + today + '.sql'
        });
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-18
      • 2021-12-26
      • 1970-01-01
      • 2012-06-01
      • 2012-03-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多