【问题标题】:Export database tables to sql files individually through SSH通过 SSH 将数据库表单独导出为 sql 文件
【发布时间】:2019-01-07 03:20:27
【问题描述】:

正如问题所说,我一直在尝试将数据库的每个表导出到单独的 .sql 文件中。我知道mysqldump -u username -p DBName TableName > Export.sql 导出一个特定的表,但是有什么方法可以循环它并使用 SSH 命令导出单个文件中的所有表?

【问题讨论】:

    标签: mysql sql database shell ssh


    【解决方案1】:

    在数据库中查找表并对其进行迭代。

    mysql -u USERNAME -p -N -D DATABASENAME -e 'show tables';
    

    这将列出特定数据库的表。做这样的事情来导出数据库的所有表。 (注意:你需要删除格式化字符)

    for tab in `mysql -u USERNAME -p -N -D DATABASENAME -e 'show tables';` do
        mysqldump -u USERNAME -p DATABASENAME $tab > ${tab}.sql
    done
    

    【讨论】:

    • 我实际上想将表格导出到单独的文件中,而不是显示它们。
    • @TayeabaMila 获取表列表并对其进行迭代并使用 mysqldump 将每个表导出到单独的文件中
    • 啊,我明白了。但它抛出了这个错误 - -bash: syntax error near unexpected token mysqldump`有什么想法吗?
    • 我的错,我忘了done 但它没有显示这个 - mysql:[错误] mysql:选项'-e'需要一个参数 -bash:命令替换:第 1 行:语法错误附近意外令牌;' -bash: command substitution: line 1: ;' `
    • 注意用单引号括起来的正确语法show tables。而从mysql开始的另外两个是反引号
    猜你喜欢
    • 2012-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-15
    • 2021-10-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多