【发布时间】:2019-01-07 03:20:27
【问题描述】:
正如问题所说,我一直在尝试将数据库的每个表导出到单独的 .sql 文件中。我知道mysqldump -u username -p DBName TableName > Export.sql 导出一个特定的表,但是有什么方法可以循环它并使用 SSH 命令导出单个文件中的所有表?
【问题讨论】:
标签: mysql sql database shell ssh
正如问题所说,我一直在尝试将数据库的每个表导出到单独的 .sql 文件中。我知道mysqldump -u username -p DBName TableName > Export.sql 导出一个特定的表,但是有什么方法可以循环它并使用 SSH 命令导出单个文件中的所有表?
【问题讨论】:
标签: mysql sql database shell ssh
在数据库中查找表并对其进行迭代。
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
【讨论】:
-bash: syntax error near unexpected token mysqldump`有什么想法吗?
done 但它没有显示这个 - mysql:[错误] mysql:选项'-e'需要一个参数 -bash:命令替换:第 1 行:语法错误附近意外令牌;' -bash: command substitution: line 1: ;' `
show tables。而从mysql开始的另外两个是反引号