MySqlデータベースをバックアップするいくつかの方法

MySqlデータベースをバックアップするいくつかの方法

mysqldump ツールのバックアップ

データベース全体をバックアップする

$> mysqldump -u ルート -h ホスト -p データベース名 > backdb.sql

データベース内のテーブルをバックアップする

$> mysqldump -u root -h ホスト -p dbname tbname1, tbname2 > backdb.sql

複数のデータベースのバックアップ

$> mysqldump -u root -h host -p --databases dbname1, dbname2 > backdb.sql

システム内のすべてのデータベースをバックアップする

$> mysqldump -u ルート -h ホスト -p --すべてのデータベース > backdb.sql

データベースディレクトリ全体を直接コピーしてバックアップします(InnoDBストレージエンジンには適用されません)。

windowsns: インストールパス/mysql/data

Linux: /var/lib/mysql

コピーする前に、次のコマンドを実行する必要があります。

MYSQL> テーブルをロックします。
# コピー処理中にクライアントがテーブルをクエリし続けることを許可します。
MYSQL> テーブルをフラッシュします。
# アクティブ化されたインデックス ページをディスクに書き込みます。

mysqlhotcopy ツールのバックアップ

データベースまたはテーブルをバックアップする最も速い方法は、データベース ディレクトリが配置されているマシン上でのみ実行でき、MyISAM タイプのテーブルのみをバックアップできます。

このバックアップ方法を使用するには、バックアップするテーブル ファイルにアクセスできる必要があります。

$> mysqlhotcopy -u root -p dbname /path/to/new_directory;
#データベースをnew_directoryディレクトリにコピーします。

mysql コマンド インポート sql ファイル 復元

$> mysql -u root -p [dbname] < バックアップ.sql
# 実行する前に dbname データベースを作成する必要があります。backup.sql が mysqldump によって作成されたバックアップ ファイルである場合、実行に dbname は必要ありません。
MYSQL> ソースbackup.sql;
# ソース コマンドを実行する前にデータベースを選択する必要があります。

データベースディレクトリを直接コピーして復元する

注意: この方法では、元のデータベースと復元するデータベースのメジャー バージョン番号が一貫していることを確認する必要があり、MyISAM エンジンを持つテーブルにのみ適用されます。

  1. mysql サービスをシャットダウンします。
  2. バックアップしたファイルまたはディレクトリで mysql データ ディレクトリを上書きします。
  3. mysql サービスを開始します。
  4. Linux システムの場合、ファイルをコピーした後、ファイルのユーザーとグループを MySQL を実行しているユーザーとグループに変更する必要があります。

mysqlhotcopy 高速リカバリ

MySQL サービスを停止し、バックアップ データベース ファイルをデータが保存されている場所 (mysql のデータ フォルダー) にコピーし、MySQL サービスを再起動します (データベース ファイルの所有者を指定する必要がある場合があります)。

$> cp -R /usr/backup/test /usr/local/mysql/data
# 復元されたデータベースがすでに存在する場合、DROP ステートメントを使用して既存のデータベースを削除した後にのみ、復元を成功させることができます。データベース バージョンの互換性も確保する必要があります。

同じバージョンのデータベース間で移行する

$> mysqldump -h www.abc.com -uroot -p パスワード dbname | 
$>mysqldump -h www.bcd.com -uroot -p パスワード
# サーバー www.abc.com 上のデータベース dbname を、サーバー www.bcd.com 上の同じバージョンのデータベースに移行します。

異なるバージョンの MySQL データベース間の移行

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

元のデータベースをアンインストールします。

新しいデータベースをインストールします。

バックアップしたデータベース データを新しいデータベースに復元します。

データベース ユーザー アクセス情報には、mysql データベースのバックアップが必要です。

デフォルトの文字セットの問題。MySQL4.x はデフォルトの文字セットとして latin1 を使用し、mysql5.x はデフォルトの文字セットとして utf8 を使用します。中国語のデータがある場合は、デフォルトの文字セットを変更する必要があります。

異なるデータベース間の移行

MyODBC ツールは、MySQL と SQL Server 間の移行を実現します。

MySQL 移行ツールキット。

テーブルのエクスポートとインポート

SELECT ...... INTO OUTFILE はテキスト ファイルをエクスポートします。このメソッドはデータベース サーバーにのみエクスポートでき、エクスポート ファイルが既に存在していることはできません。

MYSQL> SELECT ...... INTO OUTFILE ファイル名 [オプション]
MYSQL> SELECT * FROM test.person INTO OUTFILE "C:\person0.txt";
# person テーブルのデータをテキスト ファイル person0.txt にインポートします。

mysqldump ファイルはテキスト ファイルをエクスポートします (INTO OUTFILE とは異なり、このメソッドのすべてのオプションを引用符で囲む必要はありません)

$> mysqldump -T パス -u ルート -p dbname [テーブル] [オプション]
# -T パラメータはテキスト ファイルをエクスポートすることを示します。パスはデータがエクスポートされるディレクトリです。
$> mysqldump -TC:\test person -u root -p
# テスト テーブル内の person テーブルをテキスト ファイルにエクスポートします。実行が成功すると、テストディレクトリに person.sql と person.txt の 2 つのファイルが作成されます。

テキストファイルをエクスポートするmysqlコマンド

MYSQL> mysql -u root -p --execute="SELECT * FROM person;" テスト > C:\person3.txt;
# テスト データベース内の person テーブル データを person3.txt テキスト ファイルにエクスポートします。 --vertical パラメータを使用すると、行を複数の行に分割できます。
MYSQL> mysql -u root -p --vartical --execute="SELECT * FROM person;" テスト > C:\person3.txt;
# --html はテーブルを html ファイルとしてエクスポートし、--xml はテーブルを xml ファイルとしてエクスポートします

LOAD DATA INFILEはテキストファイルをインポートします

MYSQL> LOAD DATA INFILE 'filename.txt' INTO TABLE tablename [OPTIONS] [IGNORE number LINES];
# [IGNORE number LINES] は行数を無視することを意味します MYSQL> LOAD DATA INFILE 'C:\person0.txt' INTO TABLE test.person;

mysqlimport テキストファイルのインポート

$> mysqlimport -u root -p dbname ファイル名.txt [OPSTONS]
# インポートされたテーブルの名前はファイル名によって決まります。データをインポートする前にテーブルが存在している必要があります。$> mysqlimport -uroot -p test C:\backup\person.txt
# テスト データベースの person テーブルにデータをインポートします。

mysqlbinlog を使用したデータの回復

$> mysqlbinlog [オプション] ファイル名 | mysql -u ユーザ -p パスワード
# ファイル名はバイナリログファイルです。
$> mysqlbinlog --stop-date="2013-03-30 15:27:47" D:\MySQL\log\binlog\binlog.000008 | mysql -u root -p パスワード
# ログ ファイル binlog.000008 に基づいて、2013-03-30 15:27:47 より前の操作にデータを復元します。

バイナリログを開始する

log-bin = パス/ファイル名 #ログファイルの保存ディレクトリとファイル名 expire_log_days = 10 #ログの自動削除時間 max_binlog_size = 100M #ログファイルの最大サイズ

バイナリログの表示

MYSQL> 'log_%' のような変数を表示します。
MYSQL> バイナリログを表示します。
$>mysqlbinlog ファイル名
# ファイル名はバイナリログファイル名です。

バイナリログの削除

MYSQL> RESET MASTER; #すべてのバイナリログを削除します MYSQL> PURGE {MASTER | BINARY} LOGS TO 'log_name'; #log_nameより小さいファイル番号のファイルを削除します MYSQL> PURGE {MASTER | BINARY} LOGS BEFORE 'date'; #指定した日付より前のファイルを削除します

バイナリログを一時的に停止します(MySQL サービスを再起動する必要はありません)

MYSQL> SET sql_log_bin = {0|1} #バイナリログを一時停止または開始します。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • MYSQLにデータをインポートするいくつかの方法
  • MySQL 4 データをインポートする方法
  • MySQLデータベースを最適化する6つの方法のまとめ
  • MySQLでデータベースを上書きおよびインポートするいくつかの方法の概要

<<:  Docker ベースの nginx ファイル サーバーを構築する方法と手順

>>:  jQuery+h5 で 9 マス抽選特殊効果を実現 (フロントエンドとバックエンドのコード)

推薦する

MySQLの整数データ型tinyintの詳細な説明

目次1.1Tinyint型の説明1.2 練習環境の説明1.3 未署名属性の追加1.3.1 SQLモー...

Docker JVM メモリ使用量の表示

1. Docker コンテナのホスト マシンに入り、指定されたイメージを実行しているコンテナ ID ...

CSS での配置の使用方法の詳細な研究 (要約)

CSS における位置指定の概要position属性は英語で位置を意味し、 CSSでの主な機能は要素...

MySql テーブル、データベース、シャーディング、パーティショニングの知識の詳細な説明

1. はじめにデータベース内のデータ量が一定レベルに達すると、システムパフォーマンスのボトルネックを...

ローカルストレージにブール型の値を保存する際の落とし穴を解決する

LocalStorageはブール値を保存します今日、ブール値データを保存するために localsto...

VueはElementUIのフォームサンプルコードを模倣する

実装要件ElementUI を模倣したフォームは、インデックス コンポーネント、Form フォーム ...

Webデザインにおけるフォームデザインテクニックのまとめ

「脳が多数の領域間の関係を処理できるように、入力は論理的なグループに分割する必要があります。」 – ...

MySQL テーブル削除操作の実装 (delete、truncate、drop の違い)

この記事では主に、MySQL でテーブルを削除する 3 つの操作、つまり delete ステートメン...

PrometheusはGrafanaディスプレイを使用してMySQLを監視します

目次Prometheusはエクスポーターを介してMySQLを監視し、Grafanaチャートで表示しま...

HTML から PDF への変換事例の概要 (複数の画像を推奨)

仕事の都合上、最近 HTML を PDF に変換する機能について調べることに時間を費やしました。 H...

画像プレビュー付きのアップロードフォームの完全な HTML

画像プレビュー機能付きのアップロードフォーム、完全なHTMLコードは次のとおりです。 <htm...

テキストエリア テキストエリアの幅と高さ 幅と高さの自動適応実装コード

コードをコピーコードは次のとおりです。 <HTML> <ヘッド> <T...

マークアップ言語 - 印刷スタイルシート

123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...

mysql 5.6.23 winx64.zip インストール詳細チュートリアル

WindowsにMySQLの圧縮バージョンをインストールする方法の詳細については、以下を参照してくだ...

プロセスのすべての情報を表示するLinuxメソッドの例

サーバー上にタスク プロセスがあります。 ps -ef | grep task を使用して表示すると...