mysqldump を使用して MySQL データをバックアップする方法

mysqldump を使用して MySQL データをバックアップする方法

1. mysqldump の紹介

mysqldump は、MySQL に付属する論理バックアップ ツールです。 MySQLdump は、1 つ以上の MySQL データベースをバックアップしたり、他の MySQL サーバーにデータを転送したりするために使用できるデータベース論理バックアップ プログラムです。 mysqldump を実行する場合、アカウントにはデータ テーブルをバックアップするための select 権限、ビューをバックアップするための show view 権限、トリガーをバックアップするための trigger 権限などが必要です。

mysqldump は、バックアップ機能を実装するために SQL ステートメントを再構築する必要があるため、大規模なデータのバックアップには適していません。大量のデータを含むデータベースのバックアップと復元操作の場合、速度は比較的遅くなります。mysqldump バックアップを開くと、実際にはデータベース SQL ステートメントの再現が含まれていることがわかります。

そのバックアップの原理は、プロトコルを介して MySQL データベースに接続し、バックアップする必要があるデータを照会し、照会されたデータを対応する挿入ステートメントに変換することです。これらのデータを復元する必要がある場合は、これらの挿入ステートメントを実行するだけで、対応するデータを復元できます。

2. バックアップコマンド

2.1 コマンド形式

mysqldump [オプション] データベース名 [テーブル名] > スクリプト名

または

mysqldump [オプション] --データベース名 [オプション テーブル名] > スクリプト名

または

mysqldump [オプション] --all-databases [オプション] > スクリプト名

2.2 オプションの説明

パラメータ名略語意味
- ホスト-hサーバーIPアドレス
- ポート-Pサーバーポート番号
- ユーザー-うMySQL ユーザー名
--パスワード-p MySQLパスワード
--データベースバックアップするデータベースを指定する
--すべてのデータベースMySQLサーバー上のすべてのデータベースをバックアップする
- コンパクト圧縮モード、出力が少ない
--コメント注釈情報を追加する
--完全な挿入完了した挿入ステートメントを出力する
--ロックテーブルバックアップする前に、すべてのデータベーステーブルをロックします
--no-create-db/--no-create-infoデータベース作成ステートメントの生成を無効にする
- 力エラーが発生してもバックアップ操作を続行する
--デフォルト文字セットデフォルトの文字セットを指定する
--ロックを追加するバックアップ中にデータベーステーブルをロックする

2.3 例

すべてのデータベースをバックアップします。

mysqldump -uroot -p --all-databases > /backup/mysqldump/all.db

指定されたデータベースをバックアップします。

mysqldump -uroot -p テスト > /backup/mysqldump/test.db

指定したデータベースとテーブルをバックアップします(複数のテーブルはスペースで区切られます)

mysqldump -uroot -p mysql db イベント > /backup/mysqldump/2table.db

特定のテーブルを除いて指定されたデータベースをバックアップします

mysqldump -uroot -p test --ignore-table=test.t1 --ignore-table=test.t2 > /backup/mysqldump/test2.db

3. 復元コマンド

3.1 システムコマンドライン

mysqladmin -uroot -p db_name を作成します 

mysql -uroot -p db_name < /backup/mysqldump/db_name.db

注意: バックアップ データベースをインポートする前に、db_name が存在しない場合は作成する必要があります。また、データベース名が db_name.db 内のデータベース名と同じ場合にのみインポートできます。

3.2 ソースメソッド

mysql > db_nameを使用する

mysql > ソース /backup/mysqldump/db_name.db

付録: よく使われるコマンド

mysqldump -u root -p --all-databases > D:/mysql.sql #すべてのデータベースをバックアップmysqldump -uroot -p123456 --databases db1 db2 db3 > D:/mysql.sql #複数のデータベースをバックアップmysqldump -hhostname -Pport -uroot -p"123456" --databases dbname > D:/mysql.sql #リモート バックアップ (リモートの場合は、-h: ホスト名、-P: ポート番号を追加する必要があります)



# 条件付きで指定されたテーブルのデータの一部をエクスポートします。mysqldump エクスポートのデフォルトのタイムゾーンは +00:00 であることに注意してください。w の後のタイムスタンプ時間も +00:00 タイムゾーンのデータとみなされ、データに問題が生じます。mysqldump -h222.222.221.197 -uroot -proot DBname TABLEname -t --complete-insert --skip-tz-utc -w"sys_create > '2020-12-25 16:00:00'">export.sql   



# データベースを一度にエクスポートおよびインポートします (!!! 2 つのサーバーが逆に記述されている場合は、エクスポートされた SQL に drop table ステートメントがあるため、大惨事になるので注意して使用してください)

mysqldump --host=h1 -uroot -proot --databases db1 |mysql --host=h2 -uroot -proot db2 



#圧縮パッケージとしてエクスポートすると、サイズがかなり小さくなります。オンライン サーバーではこれを使用してみてください。お勧めです! ! !

mysqldump --opt -uroot -p123456 -h127.0.0.1 --databases dbname --ignore-table=dbname.table1 | gzip>/db_back/dbname_`date +%F`.zip

要約する

これで、MySQL データのバックアップに mysqldump を使用する方法についての記事は終了です。MySQL mysqldump の使用に関する詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQL mysqldump コマンドの使用方法の詳細な説明
  • mysqldump を使用して指定したテーブルをバックアップおよび復元する方法
  • mysqldump を使用して MySQL データベースからデータをエクスポートする方法の詳細な説明
  • mysql mysqldump データのバックアップと増分バックアップ
  • mysqldumpデータエクスポートの問題に関する詳細な議論
  • mysqldump データベース バックアップ パラメータの詳細な説明
  • mysqldump に -w パラメータを追加してデータをバックアップする場合の注意点
  • mysql のバックアップと復元 mysqldump.exe の一般的な使用例

<<:  div要素に丸い境界線を追加する方法

>>:  Linux の圧縮および解凍コマンドの紹介

推薦する

アコーディオン効果を実現するネイティブ js

実際のWebページ開発でも、アコーディオンは頻繁に登場します。簡単なアコーディオンを作ったのですが、...

複数のドメイン名に対する Nginx リバース プロキシを使用した HTTP および HTTPS サービスの実装

現在、Nginx は、Web サービスを提供するために、Windows ベースの IIS と Lin...

Python3.6-MySql 挿入ファイルパス、バックスラッシュをなくす解決策

以下のように表示されます。上記のように、置き換えるだけです。 Python3.6-MySql でファ...

実行後にdocker nginxにアクセスできない問題の解決策

## 1最近、docker デプロイメントを学習しており、当初は nginx を docker 化す...

MySQLデータベースのマスタースレーブ同期構成と読み取り書き込み分離

MySQL マスター スレーブ レプリケーションを使用する利点は次のとおりです。 1. 安定性を向上...

HTMLテキストオーバーフローの2つの一般的な解決策は省略記号を表示することです

方法1: CSSオーバーフロー省略を使用して解決する解決策は次のとおりです。 CSSコード: ディス...

Dockerで複数のSpringbootを実行するための詳細なチュートリアル

Dockerは複数のSpringbootを実行する1番目: ポートマッピング 2番目: メモリサイズ...

hr 水平線スタイルの例コード

コードをコピーコードは次のとおりです。 <hr style="width:490px...

JS ベースの Ajax 同時リクエスト制御を実装する方法

目次序文Ajax シリアルおよびパラレルAjaxの同時リクエスト制御のための2つのソリューションPr...

Vueのライブ放送機能の詳しい説明

最近、会社でたまたま生放送をしていたのですが、今日は私が遭遇した落とし穴を記録します。会社のサーバー...

VMware マルチノード環境を構成する方法

このチュートリアルでは CentOS 7 64 ビットを使用します。各仮想マシンに 2GB のメモリ...

Reactプロジェクトで要素を使用する方法

React プロジェクトで要素フレームワークを使用するのは今回が初めてです。非常に単純な問題に遭遇し...

MySQL 文字列インデックスのより合理的な作成ルールに関する議論

序文MySQL インデックスの使用に関しては、これまでインデックスの最左接頭辞ルール、インデックス ...

MySQLのネクストキーロックのロック範囲についての簡単な説明

序文ある日、突然 MySQL の次のキー ロックについて尋ねられ、私の即座の反応は次のようなものでし...

MySQL データベースの基礎 SQL ウィンドウ関数の例の分析チュートリアル

目次導入導入集計関数 + over()ソート関数 + over() ntile() 関数 + ove...