問題タブ [database-backups]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
6484 参照

mysql - 大規模な mysql データベースのバックアップをインポートする最速の方法は何ですか?

innodb テーブルを使用して mysql データベースをエクスポート/インポートする最速の方法は何ですか?

お客様の問題をデバッグするために、定期的に開発マシンにダウンロードする必要がある実稼働データベースがあります。現在これを行う方法は、"mysql -B dbname" を使用して生成され、gzip された通常のデータベース バックアップをダウンロードすることです。次に、「gunzip -c backup.gz | mysql -u root」を使用してインポートします。

「mysqldump --help」を読んでわかることから、mysqldump はデフォルトで --opt を使用して実行されます。これにより、インデックスをオフにするなど、インポートを高速化すると思われる多くのことがオンになるようです。テーブルを 1 つの大量の import ステートメントとしてインポートします。

これを行うためのより良い方法はありますか、またはさらに最適化する必要がありますか?

注:データベースを開発マシン (大量の RAM を搭載した比較的最近の macbook pro) にロードするのにかかる時間を最適化したいと考えています。現在、バックアップ時間とネットワーク転送時間は大きな問題ではありません。

アップデート:

回答で提起されたいくつかの質問に答えるには:

  • 本番データベースのスキーマは、週に数回まで変更されます。Rails を実行しているため、古い本番データに対して移行スクリプトを実行するのは比較的簡単です。

  • 本番データを開発環境に入れる必要があるのは、1 日または 1 時間単位になる可能性があります。これは、開発者が何に取り組んでいるかに完全に依存します。多くの場合、開発環境でデバッグする必要があるデータベース内のいくつかのテーブルにまたがる一部のデータの結果である特定の顧客の問題があります。

  • 正直なところ、mysqldump にかかる時間はわかりません。現在は 2 時間ごとに実行しているため、2 時間未満です。ただし、それは最適化しようとしているものではなく、開発者ワークステーションへのインポートを最適化する必要があります。

  • 完全な実稼働データベースは必要ありませんが、必要なものと不要なものを区別するのは簡単ではありません (外部キー関係を持つテーブルがたくさんあります)。これはおそらく最終的に行かなければならない場所ですが、できればもう少し長く避けたいと思っています.

0 投票する
4 に答える
24820 参照

sql-server-2005 - SQL Server 2008 から SQL Server 2005 へのダウングレード

SQL Server 2008 からデータベースをバックアップし、それを SQL Server 2005 にインポートする際に問題はありますか? SQL Server 2008 にアップグレードしましたが、2008 では問題が多すぎるように思われるため、ダウングレードしたいと考えています。これを行うことに問題はありますか?

0 投票する
2 に答える
1884 参照

mysql - mysqlバックアップ保存関係

後で関係を復元できるように、2つの別々のテーブル(CATEGORIESとSUBCATEGORIES、SUBCATEGORIESはCATEGORYに属します)からデータをバックアップする方法を知りたいです。十分かどうかはわかりませんmysqldump --opt db_name

例:

カテゴリ:

サブカテゴリ:

ありがとう

0 投票する
3 に答える
6038 参照

sql - SQL Server 2008 のすべてのトランザクション ログを表示する

問題はこれです:

t3 (現在) の後に削除されたレコードを復元するにはどうすればよいですか? t0 と t1 の間の状態のデータベースが必要です。ログ レベルは Full でした。

編集: 既に DBCC LOG(DB-Name, 3) を実行しましたが、ログが切り捨てられているようです。何千もあるはずなのに、10 項目しかありません。

0 投票する
7 に答える
7303 参照

google-app-engine - Google Datastore エンティティをバックアップ/復元するツールはありますか?

私はしばらくの間、Google App Engine と Google Datastore をいじっていましたが、クラウド上に自分のものを定期的にバックアップする必要に直面しています。

google-datastore の特定のインスタンスからすべてのデータをダウンロードして別のインスタンスに復元できる汎用ツールはありますか?

もしそうなら、私に教えてください。そうでなければ、誰かがやるべきです!

0 投票する
2 に答える
2897 参照

sql - 本番 SQL​​ サーバーに適した Hyper-V スナップショット バックアップ戦略は?

そのため、Hyper-V の SQL Server 2008 はサポートされている構成であり、固定ディスクまたはパススルー ディスクを使用し、プロセッサ/メモリの設定を適切に増やしている限り、適切に機能するはずです。私の質問は、信頼できるバックアップ メカニズムとしてスナップショットを使用できるか、それとも、バックアップを実行するために試行済みで信頼できるメンテナンス プランを使用する必要があるかということです。

0 投票する
5 に答える
12777 参照

mysql - スレーブからmysqldumpを実行するときにマスターのMysqlバイナリログ位置を書き込む方法は?

私は現在、データベースをバックアップするためにMysqlスレーブでmysqldumpを実行しています。これはデータ自体のバックアップには問題なく機能しましたが、補足したいのは、mysqldumpによって生成されたデータに対応するマスターのバイナリログ位置です。

これを行うと、マスターのバイナリログ位置を取得するメインデータベースで個別のmysqldumpを実行しなくても、スレーブを復元(または新しいスレーブをセットアップ)できます。mysqldumpによって生成されたデータを取得し、それを生成したバイナリログ情報と組み合わせるだけで、出来上がり...再同期されます。

これまでのところ、私の研究により、この目標を達成できるようになりましたが、それを実現するための自動化された方法を理解できないようです。これが私が発見した「ほぼ」です:

  • メインデータベースからmysqldumpを実行している場合は、mysqldumpで「--master-data」パラメーターを使用して、ダンプデータとともにマスターのバイナリ位置をログに記録できます(これは、私たちの奴隷ですが、それは私たちが達成したいことにはやり過ぎのようです)
  • 自動化されていない方法でこれを実行したい場合は、スレーブのデータベースにログインして「STOPSLAVESQL_THREAD;」を実行できます。続いて「SHOWSLAVESTATUS;」(http://dev.mysql.com/doc/refman/5.0/en/mysqldump.html)。しかし、軟膏から何かをバックアップしたいことが事前にわかっていない限り、これは私たちに何の役にも立ちません。
  • 年間500ドルを吹き飛ばす場合は、InnoDbホットバックアッププラグインを使用して、メインDBからmysqldumpを実行するだけで済みます。しかし、私たちにはそのお金がなく、とにかくメインDBに余分なI/Oを追加したくありません。

これは、誰かが以前に理解していたはずの十分に一般的なことのように思えます。うまくいけば、誰かがStack Overflowを使用していますか?

0 投票する
5 に答える
2268 参照

mysql - MySQLデータベースをバックアップするにはどうすればよいですか?

何百万ものエントリを持つデータベースをバックアップする場合、何を考慮する必要がありますか?使用できるツール(MySQLサーバーにバンドルされている可能性があります)はありますか?

0 投票する
1 に答える
2166 参照

mysql - MySql:「SHOWCREATE TABLE」は、「x -...」という名前のテーブルでは機能しませんか?

テーブルに行がない場合、SWOWCREATETABLEクエリは結果を返さないようです。(少なくとも私のphpセットアップではありません。)メタテーブルを掘り下げることなくそれを回避する簡単な方法はありますか?もしそうなら、どのように?:-)

編集:

以下のQuassnoiの回答に対する私のコメントが示すように、これは「x-」で始まる名前のテーブルの問題のようです...非常に奇妙です!