問題タブ [mysqldump]
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.
mysql - 主キーをダンプしない mysqldump テーブル
MySql 4 を実行している 2 つのサーバーにまたがる 1 つのテーブルがあります。これらをテスト環境用の 1 つのサーバーにマージする必要があります。
これらのテーブルには文字通りそれぞれ数百万のレコードがあり、それらが 2 つのサーバー上にある理由は、その巨大さのためです。テーブルの変更やページングは、パフォーマンスに多大な影響を与えます。
それらは実稼働環境にあるため、既存のサーバーでそれらを変更することはできません。
問題は、主キーが一意の自動増分フィールドであるため、交差があることです。
mysqldump コマンドを使用して特定のフィールドを無視する方法を見つけようとしましたが、 --disable-keys は、キーを完全に削除するのではなく、テーブルを変更するだけです。
この時点で、実際には一意である必要がある 2 つの一意のフィールドの組み合わせとして、主キーのチェックサムまたはハッシュを使用するようにデータベース構造を変更する必要があるように見えます... 私は本当にしたくありませんこれを行う。
ヘルプ!
mysql - mysqldumpをロードするより速い方法はありますか?
重複の可能性:
mysqlのダンプとインポートの高速化
mysqldump
かなり高速ですが、中規模のデータベース(20〜30メガバイト)のダンプは、を使用してロードするのに数分かかりますmysql my_database < my_dump_file.sql
ロードを高速化するために調整できるmysql設定はありますか?保存されたデータをロードするためのより良い方法はありますか?
CSVベースのダンプでmysqlimportユーティリティを使用して実験しました。これらの負荷はわずかに(ただし、それほどではありませんが)速くなります。生のデータベースファイルをコピーしたいのですが、それは悪い考えのようです。
cron - cronのmysqldump動的ファイル名の適切な形式?
実行しようとするたびにエラーが発生するようにcrontabを設定しています。シェルで問題なく動作します。これは、データベース バックアップのファイル名に日付を自動的に挿入しようとするときに使用している形式です。ファイル名に日付を挿入できるようにcronを取得するために使用する必要がある構文を知っている人はいますか?
前もって感謝します!
select - データベース移行のサブセットに MySQLdump を使用する
私は mysql と mysqldump の両方を使用して、1 つのデータベースからデータを取得する方法を独学していますが、念のために言うと、私は中程度の MySQL 初心者であると考えています。
私がやりたいのは、あるデータベースのサブセットを別のサーバー上の新しいデータベースに取得することです。そのため、データベース/テーブル作成 SQL とデータ レコードの作成の両方を作成する必要があります。
元のデータベースに、それぞれ 100 行のテーブルが 10 個あるとします。私の新しいデータベースには、これらのテーブルが 4 つ (すべて元の列) ありますが、それぞれ 40 行のさらに洗練されたデータセットがあります。これらの 40 行は、テーブルごとに 1 つずつ、それほど短くない SELECT ステートメントで分離されています。
エクスポートしたデータをロード/挿入するために mysql から呼び出すことができる .sql ファイルを作成したいと考えています。これらの sql ファイルを生成するにはどうすればよいですか? mysqldump から select ステートメントを呼び出すことができると聞いたことがありますが、select ステートメントに関連する例は私のものほど長くは見たことがありません。
現在、列名を含む結果セットのみであるが、挿入コードなどを含まないSQL出力を生成できます.
支援は大歓迎です。
mysql - mysqlの既存のテーブルに基づいて「createtable」sqlコマンドを生成します
mysqlシェルを持っていますが、セキュリティ上の理由からmysqldumpコマンドを実行できません。
しばらく前に作成した列の多いテーブルがあり、新しい「テーブルの作成」コマンドを生成して、別のデータベースにそのテーブルを作成したいと思います。
それを生成するためにmysqlシェルで実行できるコマンドはありますか?
ありがとう。
backup - mysqldump <-> rsync のデータ整合性の確保
rsync を使用してサーバー上のファイルをバックアップし、mysqldump を使用してデータベースをバックアップします。ここに私の懸念があります:
データベースの mysqldump には約 30 秒かかります。ファイルへのパスを含む、ユーザーがアップロードした画像に関する情報を格納する photos というテーブルがあります。mysqldump が完了するまでの 30 秒の間に写真のアップロードまたは削除が行われるとどうなるか心配です。それが起こった場合、rsync されたファイルと mysqldump データを復元する必要があった場合、削除された写真を指す行を含むデータベース、または正常にアップロードされた写真の行が欠落しているデータベースを調べている可能性があります。
mysqldump が rsync と正確に一致していることを確認するにはどうすればよいですか?
前もって感謝します、ブライアン
mysql - MySQL データベースのバックアップ
約 1.7GB の MySQL データベースがあります。通常、mysqldump を使用してバックアップしますが、これには約 2 分かかります。ただし、次の質問に対する答えを知りたいです。
mysqldump はデータベースへの読み取りおよび/または書き込み操作をブロックしますか? 実際のシナリオでは、バックアップ中にユーザーがデータベースを使用するのをブロックしたくないからです。
データベース全体を、たとえば 1 週間に 1 回だけバックアップするのが理想的ですが、中間の日には、他のテーブルが変更されないため、1 つのテーブルのみをバックアップする必要があります。これを達成する方法はありますか?
mysqlhotcopy はこれらの目的のためのより良い代替手段ですか?
mysql - mysqldumpによって作成された膨大な行の長さに対処する方法
cronジョブでmysqldumpを使用して、200万行を超えるデータベースをバックアップしています。
コマンドラインからデータログを復元するために使用できるテキストファイルを作成します。
値とテーブルまたは列の名前をすばやく変更する方法として、復元の前にダンプを編集すると便利だと思いました。少なくとも、ALTERとUPDATEを使用してそれを行うことに自信が持てるようになるまでは、このダンプを編集してください。
大きなテキストファイルを編集するのは面倒ではありませんが、データベースの250メガバイトのダンプに約300行しかないことに驚きました。各行は80万文字の長さでした。
行の長さをより細かく制御してダンプを生成する別の方法はありますか?
または、sedやPerlなどのツールを使用してダンプを後処理する必要がありますか?
mysql - 分割されたmysqldumpの内容からmysql dbを復元する
こんにちは、データベースのバックアップ サイズが 2GB を超え始めたので、ファイルを分割してから再構築してデータベースを復元するオプションを検討しています。
次のバックアップシェルファイルを実行して、一連のファイルを取得しました。
DATE_STRING=`日付 +%u%a`
BACKUP_DIR=/ホーム/マイホーム/バックアップ
/usr/local/mysql_versions/mysql-5.0.27/bin/mysqldump --defaults-file=/usr/local/mysql_versions/mysql-5.0.27/my.cnf --user=myuser --password=mypw -- add-drop-table --single-transaction mydb | 分割 -b 100000000 - ランク-$DATE_STRING.sql-;
これにより、次のような一連のファイルが作成されます。
mydb-3Wed.sql-aa
mydb-3Wed.sql-ab
mydb-3Wed.sql-ac ...
私の質問は、復元を行うために Linux で使用する必要があるコマンドの対応するシーケンスは何ですか?
以前は、次のコマンドを使用していました。
/usr/local/mysql_versions/mysql-5.0.27/bin/mysql --defaults-file=/usr/local/mysql_versions/mysql-5.0.27/my.cnf --user=myuser --password=mypw -D mydb < the_old_big_dbdump.sql
split / catを含まなくても、どんな提案でも大歓迎です
mysql - apache2とmysqldumpが大きな負荷平均スパイクを引き起こしている
私はいくつかの頭痛の種を引き起こしている問題を抱えており、それを調査/修正する方法についていくつかのアイデアを使用することができます。
設定:
- サーバーA(Rails.A)でRailsアプリ(Apache2 w / Passenger)を実行しています
- 専用DBサーバーB(DB.B)でマスターDBを実行しています
- サーバーA(DB.A)で標準のMySQLレプリケーションを使用してスレーブDBを実行しています(バックアップ目的のみ)
- Rails.AはDB.Bへの読み取り/書き込みです
問題:
DB.Aでmysqldumpを実行すると、Apacheが大量のプロセスをスピンオフしているように見えるため、Aの負荷平均が急上昇します。DB.AはRails.Aでも使用されていないため、これは私にはまったく意味がありません。DB.AとRails.Aを完全にシャットダウンできます。問題なく動作します。
「ionice-c2-n6」を使用してmysqldumpを変更せずに実行してみました。
考え?