8

私は、多くの異なるユーザーにまたがる webapp を持っており、それぞれが見ることができるものについて選択的なアクセス許可を持っています。このアプリは、MySQL データベースの上に構築されています。

私が「パワー ユーザー」に提供したいと考えている機能の 1 つは、すべてのデータの SQL ダンプです。ダウンロード時に他のユーザーが利用できるようにしてはならない他のユーザーに属するものがあるため、今では mysqldump を使用することはできません。

あらゆる種類のフープをジャンプすることなく、エクスポートするものを選択的に指定できる、MySQL にデータを出し入れする簡単な方法が他にありますか? クエリ レベルで制御する必要があることに注意してください。つまり、テーブルのリストを指定できるだけでは不十分です。理想的な世界では、このようなツールは外部キーのトラバーサルに基づいてすべての関係を自動的に検出しますが、テーブル レベルでクエリを作成する必要がある場合は、他のユーザーがデータを mysql に戻すのが簡単であれば、喜んで作成します。あまり苦労せずに。

そのようなツールが存在するかどうか、または私が「自分でロールする」領域にいるかどうかを知っている人はいますか?

4

2 に答える 2

5

Mysqldump には、選択的に行を返すために使用できる「--where」フラグがあります。次のようなことができるはずだと思います:

mysqldump --where="foreign_key_id=5"

これらの特定の行のみを返す必要があります。MySQL サイトの詳細なドキュメント

ただし、カンマ区切りの値ファイルとしてエクスポートすることについて、さらに先を行っているかどうかはわかりません。CSV ファイルを MySQL にインポートして戻すことができるほか、ユーザーがデータを操作するための他の多くのオプション (スプレッドシート、他の RDBMS、テキスト分析) を提供できます。

于 2010-02-02T20:33:11.970 に答える