MySQL数据库的选择性导出

MySQL数据库的选择性导出,sql,mysql,export,mysqldump,Sql,Mysql,Export,Mysqldump,我有一个webapp,它跨越了许多不同的用户,每个用户都有选择性的权限来查看他们能够看到的内容。该应用程序构建在MySQL数据库之上 我感兴趣的一个特性是为我的“超级用户”提供一个所有数据的sql转储,这样他们就可以用它运行并完成自己的事情。现在我不能只使用mysqldump,因为有些东西属于其他用户,不应该在下载时提供给其他任何人 有没有其他简单的方法可以让您有选择地指定要导出的内容,而无需跳过各种障碍,就可以从MySQL中获取数据?请注意,我需要在查询级别进行控制-即,仅能指定表列表是不够的

我有一个webapp,它跨越了许多不同的用户,每个用户都有选择性的权限来查看他们能够看到的内容。该应用程序构建在MySQL数据库之上

我感兴趣的一个特性是为我的“超级用户”提供一个所有数据的sql转储,这样他们就可以用它运行并完成自己的事情。现在我不能只使用mysqldump,因为有些东西属于其他用户,不应该在下载时提供给其他任何人

有没有其他简单的方法可以让您有选择地指定要导出的内容,而无需跳过各种障碍,就可以从MySQL中获取数据?请注意,我需要在查询级别进行控制-即,仅能指定表列表是不够的。在理想情况下,这样的工具会基于外键遍历自动查找所有关系,但如果我必须在表级别编写查询,我愿意这样做,前提是其他人可以轻松地将数据返回mysql,而不会遇到太多麻烦

有人知道这样的工具是否存在,或者我是否处于“滚动我自己的”区域吗?

Mysqldump确实有一个“--where”标志,您可以使用它有选择地返回行。我认为你应该能够做如下事情:

mysqldump --where="foreign_key_id=5"
它应该只返回那些特定的行,在


但是,我不确定您是否会进一步将导出作为逗号分隔的值文件。CSV文件可以导入到MySQL中,并为您的用户提供许多其他处理数据的方法(电子表格、其他RDBMS、文本分析)

这里有一个工具,可以帮助您将数据导出到CSV/Excel文件中,但不能导入数据。它有一个权限管理,可以提供所需的访问权限


您可以在这里找到:.

在CSV上是正确的,尽管我们讨论的是至少20多个表。mysql是否支持批量导入csv数据?是的,如果使用mysqlimport工具,它将根据您在为mysqlimport输入文档时输入的文件名自动创建表