タグ付けされた質問 「mysqldump」

MySQLの標準ダンプ/バックアップユーティリティ


11
大きな.sqlファイルのインポートの進行状況を監視するにはどうすればよいですか?
foobar.sqlローカルデータベースのテーブルを復元するために7 GB をインポートしています。 $ mysql -h localhost -u root 'my_data' < foobar.sql $ mysql --version /usr/local/mysql/bin/mysql Ver 14.12 Distrib 5.0.96, for apple-darwin9.8.0 (i386) using readline 5.1 進捗状況を監視するにはどうすればよいですか?
204 mysql  mysqldump  import 

7
大規模なデータベースのmysqldumpを最適化するにはどうすればよいですか?
57テーブルで最大2GBのInnoDBデータベースを使用するsymfonyアプリケーションがあります。データベースのサイズの大部分は、単一のテーブル(〜1.2GB)にあります。現在、mysqldumpを使用してデータベースを夜間にバックアップしています。 コムキャスト接続のため、多くの場合、手動でダンプを実行している場合、ダンプが完了する前にサーバーへの接続がタイムアウトし、ダンプを再実行する必要があります。[現在、毎晩ダンプを実行するcronを実行しています。これは、手動で実行するダンプ用です。] 接続タイムアウトの問題のダンプを高速化する方法はありますが、サーバーがこのプロセスで占有される時間を制限する方法はありますか? ところで、私は現在、この問題を解決するためにデータベース全体のサイズを縮小することに取り組んでいます。

13
あるサーバーから別のサーバーにデータベースを移動するにはどうすればよいですか?
物理サーバー間でMySQLテーブルを移動するにはどうすればよいですか? この正確なシナリオのように: innodbテーブルを使用し、サイズが約20GBのMySQLサーバーがあります。 新しいサーバーに移動したいのですが、これを行う最も効率的な方法は何ですか?

6
アクティブな読み取りと書き込みを行うライブシステムでmysqldumpを実行する最も安全な方法は?
これが本当かどうかはわかりませんが、Linuxで次のコマンドを実行すると読んだことを覚えています mysqldump -u username -p database_name > backup_db.sql データベースに対して読み取りおよび書き込みが行われている間、ダンプにはエラーが含まれる場合があります。 mysqldumpこれが稼働中のシステムで安全に実行されるようにするためのコマンドに特定のオプションはありますか?数秒間ユーザーの読み取り/書き込みを無効にしても問題ありません(データベース<50MB)

4
MySQLは巨大な(32 GB)SQLダンプをより速くインポートする方法ですか?
この巨大な32 GBのSQLダンプがあり、MySQLにインポートする必要があります。そのような巨大なSQLダンプをインポートする必要はありませんでした。私はいつもやった: mysql -uroot dbname < dbname.sql 時間がかかりすぎています。約3億行のテーブルがあり、約3時間で150万行になります。そのため、全体が600時間(24日間)かかり、実用的ではないようです。だから私の質問は、これを行うより速い方法はありますか? 詳細情報/調査結果 テーブルはすべてInnoDBであり、外部キーは定義されていません。ただし、多くのインデックスがあります。 元のサーバーとDBにアクセスできないため、新しいバックアップを作成したり、「ホット」コピーなどを実行したりできません。 ここでinnodb_flush_log_at_trx_commit = 2提案されている設定では、(明らかに見える/指数関数的に)改善されないようです。 (MySQLのワークベンチからの)輸入時のサーバの統計情報:https://imgflip.com/gif/ed0c8。 MySQLバージョンは5.6.20コミュニティです。 innodb_buffer_pool_size = 16Mおよびinnodb_log_buffer_size = 8M。これらを増やす必要がありますか?

3
InnoDBがすべてのデータベースを1つのファイルに保存するのはなぜですか?
MyISAMを使用して各テーブルを対応するファイルに保存すると便利でした。InnoDBは多くの面で進歩を遂げましたが、なぜInnoDBがすべてのデータベースを1つのファイルに保存するのか疑問に思います(ibdata1デフォルト)。 InnoDBがテーブルの個々のインデックスファイルによってファイル内のデータの場所をマップすることは理解していますが、1つのファイルにすべてのデータが混在する理由はわかりません。さらに重要なのは、なぜサーバー上のすべてのデータベースのデータを混合するのですか? MyISAMの興味深い機能は、データベースフォルダーを別のマシンにコピー/貼り付けしてから、データベースを(ダンプなしで)使用できることです。

5
DROP DATABASEに時間がかかるのはなぜですか?(MySQL)
新しいCentOSインストール。 大きなDB(2GBのsqlファイル)のインポートを実行していて、問題がありました。SSHクライアントは接続を失い、インポートはフリーズしたようです。別のウィンドウを使用してmysqlにログインしましたが、インポートが特定の3M行テーブルでスタックしているように見えました。 だから私は試した DROP DATABASE huge_db; 15〜20分後、何もありません。別のウィンドウで、私がやった: /etc/init.d/mysqld restart メッセージDROP DBウィンドウ:SERVER SHUTDOWN。その後、実際に物理サーバーを再起動しました。 mysqlに再度ログインしてチェックし、データベースがまだそこにあった、実行した DROP DATABASE huge_db; 再び、そして再び私はすでに約5分待っています。 繰り返しますが、新規インストールです。huge_db(システムDBS以外の)唯一のDBです。私は以前にこれほど速くdbをドロップしたことを誓いますが、多分間違っています。 データベースを正常に削除しました。30分ほどかかりました。また、mysqldumpのインポートが死んだと思ったとき、私は間違っていたと思うことに注意してください。端末の接続は失われましたが、プロセスはまだ実行中だったと思います。インポート中テーブル(3M行テーブル)を削除した可能性が最も高く、おそらくデータベース全体の3/4を削除しました。「top」がmysqlを使用してメモリを3%しか使用していないことを示していたのに、それ以上使用する必要があるように思えたのは誤解を招きました。 DBの削除には30分かかりました。そのため、サーバーを再起動する必要がなく、DROPが完了するのを待つこともできましたが、DROPクエリの取得に対するmysqlの反応はわかりません。 mysqldump経由でインポートするのと同じdb。 それでも、疑問が残ります。すべてのdbファイルを削除し、information_schemaからDBへのすべての参照を削除するだけで2 GBのデータベースを削除するのに30分以上かかるのはなぜですか?大したことは何ですか?
46 mysql  mysqldump 


6
MySQLに.sqlファイルをインポートする方法は?
MySQL Workbenchを使用して.sqlファイルをインポートしようとすると、次のエラーが表示されます。 ERROR 1046 (3D000) at line 28: No database selected 最初に.sqlファイルと同じ名前で呼び出される空のデータベースを作成しましたが、機能しません。また、次を使用してmysqlコマンドクライアントで実行しようとしました。 mysqldump -u root database > file.sql しかし、それは私のSQL構文にエラーがあると言います。さらに、file.sqlを設定する必要があるパスがわかりません。


7
クエリを再現するために必要なデータベースのサブセットをmysqldumpすることは可能ですか?
バックグラウンド selectクエリを再現するために必要なデータベースのサブセットを提供したいと思います。私の目標は、計算ワークフローを再現可能にすることです(再現可能な研究のように)。 質問 このselectステートメントを、クエリされたデータを新しいデータベースにダンプするスクリプトに組み込んで、データベースを新しいmysqlサーバーにインストールし、ステートメントが新しいデータベースで機能するようにする方法はありますか。新しいデータベースには、クエリで使用されたレコードに加えてレコードを含めるべきではありません。 更新: 明確にするために、クエリ結果のcsvダンプには興味がありません。私ができる必要があるのは、データベースのサブセットをダンプして、別のマシンにインストールできるようにすることです。そうすれば、クエリ自体を再現可能にすることができます(同じデータセットに関して変更可能です)。 例 たとえば、私の分析では、複数の(この例では3つの)テーブルからのレコードを必要とするデータのサブセットを照会します。 select table1.id, table1.level, table2.name, table2.level from table1 join table2 on table1.id = table2.table1_id join table3 on table3.id = table2.table3_id where table3.name in ('fee', 'fi', 'fo', 'fum');

4
MysqlでVIEWのDEFINERを変更するにはどうすればよいですか?
mysqldumpを実行すると、エラーが発生します。 mysqldump: Got error: 1449: The user specified as a definer ('root'@'foobar') does not exist when using LOCK TABLES foobarもはや存在しないレガシーマシンであるため、これは理にかなっています。 すべてのテーブルの定義者を「root」@「localhost」に変更するにはどうすればよいですか?

3
MySQL / Amazon RDSデータベースをS3にバックアップする推奨方法は何ですか?
これには2つの目的があります。 Amazon Web Servicesで地域全体に問題が発生した場合にオフサイトのバックアップを作成します。 量産データを量産請求アカウントからベータ請求アカウントにコピーするには。 現在、Amazonはこれら2つのユースケースのいずれかをすぐにサポートしているようには見えません。 上記のmysqldumpおよびxtrabackup(フォームポストを参照)を見てきました。 私はまた、より複雑なプロセスを見ました(ここに文書化されています) ソース請求アカウント(prod)の新しいRDSサーバーは、最近のバックアップから分離されます。 手順1でRDSサーバーにアクセスできる新しいEC2インスタンスがスピンアップされます。 mysqldumpは、このデータベースのバックアップを作成するために使用されます。 バックアップはオフサイトの場所にコピーされます(S3?)。 別のアカウントや地域で、新しいRDSサーバーがスピンアップされます。 データベースダンプがインポートされます。 ヒントと提案を歓迎します。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.