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 エンジンを持つテーブルにのみ適用されます。
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 を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Docker ベースの nginx ファイル サーバーを構築する方法と手順
>>: jQuery+h5 で 9 マス抽選特殊効果を実現 (フロントエンドとバックエンドのコード)
マイクリMyCLI は、自動補完と構文の強調表示を備えた MySQL、MariaDB、および Per...
目次前面に書かれたログインの概要ログインビジネスプロセスログインサービスの関連技術ポイントログイント...
目次抽象化と再利用シリアルセグメントシリアル、セグメントパラレル要約するはじめに: JS は当然並列...
目次1. インストール2. プロジェクトにインポートしてマウントする3. 使用Vue2.x はコンポ...
目次Vueライフサイクルの紹介とフック機能VUEライフサイクルフックVue ライフサイクルの紹介作成...
メインのオペレーティング システムを Windows から Ubuntu に切り替えたとき、最初に考...
Google の Flutter の目標は、どのプラットフォームを使用していても、ネイティブの速度...
1. リンクハイパーテキスト リンクは HTML において非常に重要です。基本的な形式は次のとおりで...
背景:最近、同社のプロジェクトは同時実行のプレッシャーに耐えられないようなので、最適化が差し迫ってい...
この記事では、シンプルなカレンダー効果を実現するためのjsの具体的なコードを参考までに共有します。具...
動作環境: MAC Docker バージョン: Docker version 17.12.0-ce,...
docker コマンドを初めて使用する場合、権限の問題を確認するメッセージが表示されます。 unix...
jQuery を使用してフェードインとフェードアウト効果を完成させる前に、まずいくつかのコードを理解...
最近何かをするときにラベル タグを使用しました。以前はラベル タグをほとんど使用していなかったため、...
WeChatアプレットはスクロールビューを使用して左右のリンクを実現します。参考までに、具体的な内容...