データベースの移行は、よく遭遇する問題です。データ量が少ない場合、移行は基本的に問題になりません。実稼働環境では、次のような状況で移行作業が必要になります。
MySQL 移行には、次の 3 つの一般的な方法があります。 1. データベースを直接エクスポートし、ファイルを新しいサーバーにコピーして、新しいサーバーにインポートします。 2. サードパーティの移行ツールを使用します。 3. データ ファイルとライブラリ テーブル構造ファイルを新しいサーバーに直接コピーし、同じ構成で MySQL サービスにマウントします。 最初のソリューションの利点は、データ ファイルを再構築し、データ ファイルが占めるスペースを削減し、互換性が最も高く、エクスポートやインポートで問題が発生することはほとんどなく、要件に柔軟に対応できることです。デメリット: 従来のエクスポートとインポートには長い時間がかかります。 2 番目のソリューションの利点: 設定が完了すると、送信は自動的に完了し、無人になります。デメリット: 柔軟性が不十分、設定が複雑、送信時間が長い、異常発生後に異常箇所からの送信を継続することが困難。 3 番目のソリューションの利点: 時間が短縮され、ブレークポイントでファイルを転送でき、操作手順が少なくなります。デメリット: 新しいサーバーと古いサーバーの MySQL のバージョンと構成は同じである必要があるため、未知の問題が発生する可能性があります。 データベースの移行がビジネスのボトルネックやプロジェクトの変革によるもので、データ テーブル構造 (パーティションやテーブルなど) の変更を必要とする場合は、最初の方法のみを使用できます。 MySQLのSELECT INTO OUTFILEとLOAD DATA INFILEを使用して、データを素早くエクスポートおよびインポートします。 以下は、合計データ量が 12G の MySQL を Windows から Linux に移行するプロジェクトの例です。 Windows プラットフォームでデータをエクスポートする: Tables.txt は、データ テーブルの名前を格納するファイルです。ファイルからデータ テーブルの名前を読み取ることで、すべてのテーブルがループでエクスポートされます。プロセスにサブ テーブルが含まれる場合、エクスポートされた SQL ステートメントとバッチ コードはサブ テーブルのルールに従って変更できるため、非常に柔軟です。 @echo off & setlocal enabledelayedexpansion /f %%i in (tables.txt) do (set table=%%i echo "テーブルをダンプ -- !テーブル! --" mysql -uroot -p12345678 codetc_old -e "SELECT * INTO OUTFILE 'F:/MySQL/Uploads/!table!.txt' フィールドは ',' FROM !table" によって終了されます。 ) 一時停止 Linux プラットフォームでのデータのインポート: #!/bin/bash 行を読みながら する mysql -uroot -p12345678 codetc_new -e "ファイル '/var/lib/mysql-files/$line.txt' のデータをテーブル $line にロードします。フィールドは ',' で終了します" 完了 < tables.txt データをインポートする前に、新しいマシンにテーブル構造を作成する必要があります。12G のデータのエクスポートには約 3 分、インポートには約 4 分かかります (実行時間はマシンの構成によって異なり、参考値ではありません) 要約する 以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。 以下もご興味があるかもしれません:
|
パラメータを渡すために href が必要で、パラメータが中国語の場合、文字化けした文字が表示されます...
目次識別子の長さ制限権限テーブルの範囲フィールドの長さ制限データベースとテーブルの数の制限テーブルサ...
目次概要例1) オブジェクトをフリーズする2) 配列をフリーズする3) 浅い凍結4) ディープフリー...
背景: Linux サーバーのファイルのアップロードとダウンロード。 XShell+Xftp インス...
公式サイトから MySQL をダウンロードしてインストールし、クライアントにログインするにはどうすれ...
この記事では、Amapを使用して都市の位置特定を実現するVueの具体的なコードを参考までに共有します...
私はmysql ERROR 1045に遭遇し、この問題に長い時間を費やしました。私はそれを自分で書き...
文法規則 列名を選択 テーブル名1から INNER JOIN テーブル名2 ON テーブル名1.列名...
1. はじめにMYSQL の MDL ロックは常に頭痛の種でした。ロックについて話すとき、通常は I...
前回の記事では、Docker を使用して Laravel アプリケーションをデプロイする方法について...
導入振り返ってみると、4年前、私がMySQLのインデックスについて学んでいたとき、先生はインデックス...
今日は、新しく購入した Alibaba Cloud ECS 環境 (Ubuntu 16.04 LTS...
土曜日、本番サーバー上の Redis サーバーが利用できなくなり、エラー メッセージは次のようになり...
この記事は Tom Ewer の Managewp ブログからのもので、現在人気のレスポンシブ デザ...
この記事では、Vueカウンターの簡単な実装コードを例として紹介します。具体的な内容は以下のとおりです...