xtrabackupはperconaが提供するmysqlバックアップツールで、データベースに接続してデータベースデータをバックアップする物理バックアップツールです。 innodb ストレージ エンジンの場合、完全バックアップと増分バックアップがサポートされます。 myisam ストレージ エンジンは増分バックアップのみをサポートします。 xtrabackup の innodb の増分バックアップは、テーブル スペースの LSN に基づいているため、テーブル スペースは複数のデータ ブロックに分割され、データ ブロック データが変更されると、対応するシーケンス番号が付けられます。シーケンス番号が更新されます。完全バックアップはすべてのデータ ブロックをバックアップすることを意味しますが、増分バックアップは完全バックアップの最後のデータ ブロックのシリアル番号に基づいて、最新のデータ ブロックのシリアル番号までバックアップします。 myisam はテーブルスペースをサポートしていないため、増分バックアップを実行できません。
Xtrabackup は、percona が提供する mysql データベース バックアップ ツールです。公式の紹介によると、これは innodb および xtradb データベースのホット バックアップを実行できる世界で唯一のオープン ソース ツールでもあります。
Xtrabackup には主に 2 つのツールが含まれています:
xtrabackup: innodb および xtradb テーブル内のデータのホット バックアップ用のツールです。他のタイプのテーブルおよびデータ テーブル構造をバックアップすることはできません。カプセル化された Perl スクリプトは、MyISAM テーブルとデータ テーブル構造をバックアップおよび復元できます。
xtrabackup によってバックアップされたデータはデータ復元を実行しています。事前に次の点に注意する必要があります:
増分バックアップがある場合は、増分バックアップと完全バックアップをマージする必要があります。復元する前にバックアップします。
トランザクションをサポートするテーブルのバックアップの場合は、最初にトランザクション ログのロールバックとコミット操作を実行する必要があります。
複数の連続したバックアップがある場合。操作では、トランザクション ログをコミットするだけでよく、ロールバックする必要はありません。トランザクションのロールバックは、すべてのバックアップ操作が合成された後にのみ実行できます。
-
この記事では、詳細な実験手順を通じて xtrabackup の使用方法を示します。
実験手順
- centos7 仮想マシン、データベースの mariadb-5.5.52 バージョンをインストールし、まず SQL スクリプトを通じて hellodb テスト ライブラリをインポートします。これには学生データ テーブルが含まれます。この実験は学生に対して実行されます。 table、コマンドは次のとおりです:
mysql -uroot <p></p>
- xtrabackup をインストールするには、公式 Web サイトからインストール パッケージをダウンロードし、yum を通じてインストールします。ダウンロード サイトは次のとおりです。インストール プロセスはここでは説明しません。
- xtrabackup_binlog_info: バイナリ ログの内容を記録します。バックアップ タイプ、開始および終了 lsn 番号などの情報
xtrabackup_logfile: トランザクション ログを記録します。これはバイナリ ファイルなので表示できません
First;データベースでバイナリ ログが有効になっていることを確認します。有効になっているかどうかを確認するには、mysql -uroot
安装xtrabackup,可以从官方网站下载安装包,然后通过yum进行安装,下载站点为:,此处不再演示安装过程;
xtrabackup的主要命令为innobackupex,通过innobackupex --help或者man手册可以获取到帮助信息;
数据库已经导入,此时可以进行数据库的备份操作,先进行数据库的全量备份和恢复:
xtrabackup_binlog_info:记录二进制日志的内容;
xtrabackup_checkpoints:记录备份类型,开始和结束的lsn编号等备份信息;
xtrabackup_info:记录更详细的备份信息,如是否为所有库备份,是否压缩,备份执行的命令等信息;
xtrabackup_logfile:记录的是事务日志,为二进制文件,不可查看;
首先确保数据库已经开启二进制日志,通过show global variables like 'log_bin';命令可以看到是否已经开启,通过show binary logs;可以看到目前正在使用的二进制日志是哪一个;
通过xtrabackup进行备份,数据备份到/data/backup目录下,备份完成会在指定目录下生成一个以当前时间命名的文件夹:
innobackupex -u root /data/backup
文件夹内容如下:
-
此时就备份成功了,然后演示数据库的恢复操作。注意:恢复之前需要首先停止数据库服务:
を使用します。どのバイナリ ログが現在有効であるかを確認できます。使用中;innobackupex --apply-log 2017-07-13_21-02-07/ #首先进行事务日志的提交和回滚 innobackupex --copy-back 2017-07-13_21-02-07/ #进行数据恢复,会自动把数据恢复到mysql的数据目录下
show global variables like 'log_bin'; - xtrabackup によるバックアップ。バックアップが完了すると、現在の時刻に基づいた名前のフォルダーが
- フォルダーの内容は次のとおりです:
innobackupex に生成されます。 -u root /data/backup

- 🎜復元が成功した後は、復元されたデータのすべての所有者とグループは root ユーザーになり、root ユーザーになる必要があります。データベースにログインするには mysql ユーザーである必要があります 🎜🎜🎜🎜 データベースにログインすると、すべてのデータが復元されたことがわかります。 🎜🎜🎜🎜🎜今回は、増分バックアップとリカバリの操作を示します: 🎜🎜🎜🎜🎜実稼働環境では、バイナリ ファイルはポイントインに使用できるため、バイナリ ログとデータ ファイルを別のディスクに配置することをお勧めします。可能な限り損失を確実にするための回復時間 データが少なくなり、バイナリ ファイルも失われると大量のデータが失われる可能性があります 🎜
データのセキュリティを確保するために、データの完全バックアップを必ず実行してください。
innobackupex --apply-log 2017-07-13_21-02-07/ #最初にトランザクション ログをコミットしてロールバックします innobackupex --copy-back 2017-07 - 13_21-02-07/ #データ復元を実行すると、データは自動的に mysql データ ディレクトリに復元されます
いくつかの新しい情報をデータベースに挿入し、その後、増分バックアップを実行します。データベース;
-
次のコマンドを使用してデータベースの増分バックアップを実行すると、/data/backup ディレクトリに time にちなんだ名前の新しいフォルダーが生成されます:
innobackupex -u root - p 1234567a --incremental --incremental-basedir=/data/backup/2017-07-13_21-07-23/ /data/backup/
innobackupex -u root -p 1234567a --incremental --incremental-basedir=/data/backup/2017-07-13_21-07-23/ /data/backup/
然后停掉数据库服务,删除数据库目录下的所有数据,进行数据恢复操作,步骤如下:
innobackupex --apply-log --redo-only 2017-07-13_22-16-19/ #进行全量备份的事务提交,但是不回滚未提交事务,因为未提交事务可能在下次的增量备份中提交 innobackupex --apply-log --redo-only 2017-07-13_22-16-19/ --incremental-dir=2017-07-13_22-18-34/ #进行增量备份和全备份的合成已经事务提交工作 innobackupex --apply-log 2017-07-13_22-16-19/ #对于全备份也没有完成的事务进行回滚操作 innobackupex --copy-back 2017-07-13_22-16-19/ #此时采用全备份即可恢复数据,不再需要增量备份,因为已经进行了备份的合成操作
- 次に、データベース サービスを停止し、データベース内のすべてのデータを削除します。データベース ディレクトリにアクセスし、データ回復操作を実行する場合の手順は次のとおりです:
innobackupex --apply-log --redo-only 2017-07-13_22-16-19/ # 完全バックアップのトランザクションをコミットしますが、コミットされていないトランザクションはロールバックしないでください。コミットされていないトランザクションは次の増分バックアップで送信される可能性があるためです。 innobackupex --apply-log --redo-only 2017-07-13_22-16-19/ --incremental-dir=2017-07-13_22 -18-34/ #増分バックアップを実行する完全バックアップでトランザクション送信作業を合成します innobackupex --apply-log 2017-07-13_22-16-19/ #完全バックアップで完了していないトランザクションのロールバック操作 innobackupex --copy- back 2017-07-13_22- 16-19/ #現時点では、バックアップ合成操作が実行されているため、増分バックアップを使用してデータを復元できます。
また、復元されたデータの所有者とグループを変更し、データベースにログインして完全なデータを確認する必要があります。これで、実験的なデモンストレーションは完了しました。
以上がxtrabackup を使用して mysql データベースをバックアップする方法に関するガイダンスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

blobdatatypesinmysqlareusedlarginglaredatalikeimagesorudio.1)useblobtypes(tinyblobtolongblob)Basedatasizeneeds。 2)storeblobsin perplate petooptimize performance.3)scondididididididididersxternalストレージBlob Romanaデータベースindimprovebackupe

toadduserstomysqlfromthecommandline、loginasroot、thenusecreateuser'username '@' host'ident'ident'identifidedby'password '; tocreateanewuser.grantpermissions with grantpermissions with grantalgegesondatabase

mysqlofferseightStringDatatypes:char、varchar、binary、varbinary、blob、text、enum、andset.1)charisfixed-length、yealforconsistent datalikecountrycodes.2)varcharisvariable length、efficational forvaryingdatalikenames.3)binaryandvanterbinarydata a similati

toaddauserinmysql、usethecreateuserstatement.1)usecreateuser'newuser '@' localhost'ident'identifidedby'password '; tocreateauser.2)exestrongPolicieswithieswithieSwithvalidate_passwordworuginsettings

ストアドプロシージャは、パフォーマンスを向上させ、複雑な操作を簡素化するためのMySQLのSQLステートメントを事前に拡大します。 1。パフォーマンスの改善:最初のコンピレーションの後、後続の呼び出しを再コンパイルする必要はありません。 2。セキュリティの改善:許可制御を通じてデータテーブルアクセスを制限します。 3.複雑な操作の簡素化:複数のSQLステートメントを組み合わせて、アプリケーションレイヤーロジックを簡素化します。

MySQLクエリキャッシュの実用的な原則は、選択クエリの結果を保存することであり、同じクエリが再度実行されると、キャッシュされた結果が直接返されます。 1)クエリキャッシュはデータベースの読み取りパフォーマンスを改善し、ハッシュ値を使用してキャッシュされた結果を見つけます。 2)単純な構成、mysql構成ファイルでquery_cache_typeとquery_cache_sizeを設定します。 3)SQL_NO_CACHEキーワードを使用して、特定のクエリのキャッシュを無効にします。 4)高周波更新環境では、クエリキャッシュがパフォーマンスボトルネックを引き起こし、パラメーターの監視と調整を通じて使用するために最適化する必要がある場合があります。

MySQLがさまざまなプロジェクトで広く使用されている理由には、次のものがあります。1。複数のストレージエンジンをサポートする高性能とスケーラビリティ。 2。使いやすく、メンテナンス、シンプルな構成とリッチツール。 3。豊富なエコシステム、多数のコミュニティとサードパーティのツールサポートを魅了します。 4。複数のオペレーティングシステムに適したクロスプラットフォームサポート。

MySQLデータベースをアップグレードする手順には次のものがあります。1。データベースをバックアップします。2。現在のMySQLサービスを停止します。3。MySQLの新しいバージョンをインストールします。アップグレードプロセス中に互換性の問題が必要であり、Perconatoolkitなどの高度なツールをテストと最適化に使用できます。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

WebStorm Mac版
便利なJavaScript開発ツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター
