2017-08-30 15 views
1

これが正しい方法であれば分かりませんが、シナリオはここにあります。私たちは複数の場所に複数のサーバーがあり、それぞれにはmysql dbがあります。各db構造はまったく同じです。目標は、各データベースから1つまたは2つのテーブルを1つの単一の場所に取得することです。Mysql View Dump by Bash

複数の異なるサーバーで複数のcronを実行したくありません。私はすべてのアクションを1台のサーバー、つまり統合データベースが稼働しているサーバー上で実行したいと考えています。

したがって、bashでテーブルをダンプするには、sshとmysqldumpを使用するのが簡単です。ここでの課題は、必要なデータが表にではなく、ビューに存在することです。データを取得するには、mysqldumpの代わりにmysql -eを実行する必要があります。

しかし、このメソッドは、データをインポート可能な.sqlファイルではなく、データとしてファイルにダンプします。

上記の説明やアイデアは素晴らしいものです。

おかげ

UPDATE:

オクラホマ目標は統合サーバーからリモートで上記のコマンドを実行することで、ローカルファイルを取得して、proccessは、通常のテーブルにビューからデータをインポートすることができますビューと同じ構造で表示されます。

+0

明確にする:あなたはテーブルとして、あるサーバーから別のサーバービューの内容をエクスポートし、それをインポートしたいと考えていますか?あなたの質問を編集してください。 –

答えて

2

SELECT * INTO OUTFILEを使用して、ビューにデータをダンプできます。例えば

## Exporting data 
SELECT * INTO OUTFILE '/tmp/my_out.text' 
FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' 
FROM m_view; 

## Creating migration table 
CREATE TABLE m_m_test LIKE migrate_table; 

## Loading data from file 
LOAD DATA INFILE '/tmp/my_out.text' INTO TABLE m_m_test 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n'; 

出典:https://www.pythian.com/blog/can-just-dump-data-view-using-mysqldump/