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 マス抽選特殊効果を実現 (フロントエンドとバックエンドのコード)

推薦する

Vue3 を使用してアップロード コンポーネントを実装するためのサンプル コード

目次一般的なアップロードコンポーネントの開発以下の機能を実装する必要がありますカスタムテンプレートサ...

Vant Uploaderは1枚以上の写真をアップロードするコンポーネントを実装します

この記事では、1枚以上の写真をアップロードするためのVant Uploaderコンポーネントを紹介し...

MySQLデータベースホスト127.0.0.1とlocalhostの違い

私の友人の多くは、127.0.0.1 と localhost の違いがわからず、問題に遭遇するかもし...

MycliはMySQLコマンドライン愛好家にとって必須のツールです

マイクリMyCLI は、自動補完と構文の強調表示を備えた MySQL、MariaDB、および Per...

Linux で Nginx ロード バランシングを使用して複数の Tomcat を構成する方法

Linux に nginx と複数の tomcat をインストールする方法はここでは紹介しません。不...

Webフロントエンドのパフォーマンス最適化

ウェブフロントエンド最適化のベストプラクティス: コンテンツWebフロントエンド最適化のベストプラク...

アイデアを通じてプロジェクトをDockerにパッケージ化する方法

多くの友人が、Docker でプロジェクトを実行する方法をずっと知りたがっていました。今日は、自分の...

Windows DNS サーバーに「ワームレベル」の脆弱性が露呈、17 年間存在

脆弱性の紹介SigRed の脆弱性はワーム化可能であるため非常に危険です。つまり、ユーザーの介入なし...

MySQL で 1 つのテーブルのフィールドを使用して別のテーブルのフィールドを更新する方法

1. 1列を変更する 学生の更新、都市c s.city_name = c.name を設定します こ...

MySQLのさまざまなオブジェクトのサイズと長さの制限について話しましょう

目次識別子の長さ制限権限テーブルの範囲フィールドの長さ制限データベースとテーブルの数の制限テーブルサ...

Webpackを使用して複数ページのプログラムを構築するための実装手順

webpack を使用してシングルページのプログラムを構築することは非常に一般的ですが、実際の開発で...

MySQLデータベーステーブルの容量を確認する方法の例

この記事では、MySQL のデータベース テーブルの容量を確認するためのコマンド ステートメントを紹...

Vue フロントエンドで PDF を生成してダウンロードする方法

目次1. インストールと導入2. PDFファイルをパッケージ化してエクスポートする方法構成の詳細PD...

CentOS7.8 に mysql 8.0.20 をインストールするための詳細なチュートリアル

1. MySQLソフトウェアをインストールするMySQL 公式 Yum リポジトリ、MySQL バー...