GTIDマスター・スレーブ構成に基づくMySQLの概要と整理
推奨学習: mysql ビデオ チュートリアル
xtarbackup を使用してデータを同期し、GTID に基づいてマスターとスレーブを設定します。
1. xtarbackup を使用してデータベースをバックアップします
1.1 利点
xtarbackup はデータのバックアップと復元を非常に迅速に行うため、xtarbackup を使用してマスターとスレーブの事前準備を行います。これは、特にデータ量に適しています。大規模なデータベースのバックアップがあり、インストールも使用方法も非常に簡単です。... (バラ、バラ、ナンセンスは作れません) 。
1.2 インストール
特定の状況に応じて特定のバージョンを選択してください。インストールするには、次のいくつかの手順に従ってください。非常に簡単ではありませんか...
# rpm -Uvh https://www.percona.com/redir/downloads/percona-release/redhat/percona-release-0.1-3.noarch.rpm # yum list | grep percona # yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL # rpm -Uvh ftp://rpmfind.net/linux/epel/6/x86_64/libev-4.03-3.el6.x86_64.rpm # yum install percona-xtrabackup –y
1.3 使用
1.3.1 通常のバックアップ
innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 /data/backupMysql/
1.3.2 tar バックアップ
(1)、ローカルへのバックアップ
# 不压缩 innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --stream=tar /data/backupMysql/>/data/mysql.tar # 压缩 innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --stream=tar /data/backupMysql/ | gzip >/data/mysql.tar.gz
(2)、リモートへのバックアップ
# 不压缩 innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --stream=tar /data/backupMysql/ | ssh root@192.168.1.7 \ "cat - >/data/mysql.tar # 压缩 innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --stream=tar /data/backupMysql/ | | ssh root@192.168.1.7 \ "gzip >/data/mysql.tar.gz
( 3)、解凍方法
# 未经过压缩的文件解压 tar xvf mysql.tar -C /data # 压缩过的文件解压 tar zxvf mysql.tar.gz -C /data
1.3.3 xbstreamバックアップ
(1)、ローカルへのバックアップ
# 不压缩 innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --stream=xbstream /data/backupMysql/>/data/mysql.xbstream # 压缩 innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --stream=xbstream --compress /data/backupMysql/ >/data/mysql_compress.xbstream
( 2) リモートへバックアップ
# 不压缩 innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --stream=xbstream /data/backupMysql/| ssh root@192.168.1.7 "xbstream -x -C /backup/stream" # 压缩 innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --stream=xbstream --compress /data/backupMysql/ | ssh root@192.168.1.7 "xbstream -x -C /backup/stream"
(3) 解凍方法
#### 未压缩的 xbstream -x < mysql.xbstream -C /data #### 压缩过的 # 1、先解压xbstream xbstream -x < mysql_compress.xbstream -C /data # 2、再解压qp压缩格式 for bf in `find . -iname "*\.qp"`; do qpress -d $bf $(dirname $bf) && rm $bf; done 注:如果xtrabackup版本大于2.1.4,可以直接通过以下方式解压第二步。 innobackupex --decompress /data
1.3.4 リストア
まずオリジナルをバックアップ 圧縮されたものを解凍パッケージをディレクトリにコピーし、次のステートメントを実行して復元します。
innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --copy-back /var/lib/mysql/backup/
注: バックアップ、解凍、リカバリのプロセス中に分割画面ツールを使用できます。私は画面を使用するのが好きです。
2. GTID に基づくデータ同期
2.1 GTID の概念
- 1. グローバル トランザクション識別子: グローバル トランザクション識別子。
- 2. GTID はトランザクションを 1 対 1 に対応させた、世界的に一意な ID です。
- 3. 繰り返しの実行によるデータの混乱やマスターとスレーブの不一致を避けるために、GTID はサーバー上で 1 回だけ実行されます。
- 4. GTID は従来のレプリケーション方法を置き換えるために使用され、MASTER_LOG_FILE MASTER_LOG_POS はレプリケーションを有効にするために使用されなくなりました。代わりに、MASTER_AUTO_POSTION=1 を使用してコピーを開始します。
- 5. MySQL-5.6.5 からサポートされ、MySQL-5.6.10 以降は改善される予定です。
- 6. 従来のスレーブ側ではbinlogをonにする必要はありませんが、GTIDでは実行されたGTIDを記録するためにスレーブ側のbinlogをonにする必要があります(必須)。
2.2 GTIDの構成
GTID =source_id:transaction_idsource_id:元のサーバー、つまりmysqlサーバーの一意のserver_uuidを識別するために使用されます。スレーブに対しては、ソース ID としても使用できます。
transaction_id: 現在のサーバー上で送信されたトランザクションのシーケンス番号です。通常は 1 から始まる自己増加シーケンスです。1 つの値が 1 つのトランザクションに対応します。
例: 3E11FA47-71CA-11E1-9E33-C80AA9429562:23 最初の文字列はサーバーのserver_uuid、つまり 3E11FA47-71CA-11E1-9E33-C80AA9429562 で、最後の 23 はtransaction_id#です
## 2.3 GTID の原理##1. メインライブラリ側でトランザクションが実行、送信されると、GTID が生成され、バイナリログに一緒に記録されます。
2. ビンログがスレーブに転送され、スレーブのリレーログに保存されたら、GTID の値を読み取り、gtid_next 変数を設定します。これにより、次に実行される GTID 値がスレーブに指示されます。
3. SQL スレッドはリレー ログから GTID を取得し、スレーブ側の binlog を比較して GTID が存在するかどうかを確認します。
4. レコードがある場合は、GTID を持つトランザクションが実行されたことを意味し、スレーブはそれを無視します。
5. レコードがない場合、スレーブは GTID トランザクションを実行し、GTID を自身の binlog に記録します。トランザクションを読み取って実行する前に、まず他のセッションが GTID を保持しているかどうかを確認します。繰り返し実行されることはありません。
6. 解析中に主キーがあるかどうかを判定し、ない場合はセカンダリインデックスを使用し、ない場合は全スキャンを使用します。
2.4 GTID
1. フェイルオーバーの実装が容易になり、以前のように log_file と log_pos を探す必要がありません。- 2. マスター/スレーブ レプリケーションの構築が容易になります。
- 3. 従来のコピーよりも安全です。
- 4. GTID は穴がなく連続しており、データの一貫性と損失ゼロを保証します。 2.5 具体的な構築手順
GTID の設定では、主に設定ファイル内の GTID 機能に関連するいくつかの重要なパラメータを変更します (mysql のバージョンは mysql-5.6 を推奨します)。 5以上。
2.5.1 マスター Gtid を開きます
主な構成は次のとおりです:[mysqld]
#GTID:
server_id=135 #服务器id
gtid_mode=on #开启gtid模式
enforce_gtid_consistency=on #强制gtid一致性,开启后对于特定create table不被支持
#binlog
log_bin=master-binlog
log-slave-updates=1
binlog_format=row #强烈建议,其他格式可能造成数据不一致
#relay log
skip_slave_start=1
innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --stream=tar /data/backupMysql/ | | ssh root@192.168.1.7 \ "gzip >/data/mysql.tar.gz
2.5.3 バックアップデータの解凍
tar zxvf /data/mysql.tar.gz -C /data/baskup
2.5.4 スレーブ設定ファイルの設定
[mysqld] #GTID: gtid_mode=on enforce_gtid_consistency=on server_id=143 #binlog log-bin=slave-binlog log-slave-updates=1 binlog_format=row #强烈建议,其他格式可能造成数据不一致 #relay log skip_slave_start=1
2.5.5 データの復元
innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --copy-back /data/backup
2.5.6 GTID の取得 ノード
more /data/backup/2018-02-08_15-03-18/xtrabackup_binlog_info
2.5.7 マスター/スレーブの構成
(1)、マスターでの認可grant replication slave on *.* to slaveuser@'192.168.1.7' identified by "c2xhdmV1c2Vy";
推荐学习:mysql视频教程 以上がGTIDマスター・スレーブ構成に基づくMySQLの概要と整理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。stop slave;
SET GLOBAL gtid_purged="c5b5ffe7-ce66-11e7-9a19-00163e00013d:1-515758";
CHANGE MASTER TO MASTER_HOST='192.168.1.6',MASTER_PORT=3306,MASTER_USER='slaveuser',MASTER_PASSWORD='c2xhdmV1c2Vy',MASTER_AUTO_POSITION=1;
start slave;
2.6 已运行经典复制mysql服务器转向GTID复制

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









次の手順でphpmyadminを開くことができます。1。ウェブサイトコントロールパネルにログインします。 2。phpmyadminアイコンを見つけてクリックします。 3。MySQL資格情報を入力します。 4.「ログイン」をクリックします。

MySQLはオープンソースのリレーショナルデータベース管理システムであり、主にデータを迅速かつ確実に保存および取得するために使用されます。その実用的な原則には、クライアントリクエスト、クエリ解像度、クエリの実行、返品結果が含まれます。使用法の例には、テーブルの作成、データの挿入とクエリ、および参加操作などの高度な機能が含まれます。一般的なエラーには、SQL構文、データ型、およびアクセス許可、および最適化の提案には、インデックスの使用、最適化されたクエリ、およびテーブルの分割が含まれます。

Redisは、単一のスレッドアーキテクチャを使用して、高性能、シンプルさ、一貫性を提供します。 I/Oマルチプレックス、イベントループ、ノンブロッキングI/O、共有メモリを使用して同時性を向上させますが、並行性の制限、単一の障害、および書き込み集約型のワークロードには適していません。

データベースとプログラミングにおけるMySQLの位置は非常に重要です。これは、さまざまなアプリケーションシナリオで広く使用されているオープンソースのリレーショナルデータベース管理システムです。 1)MySQLは、効率的なデータストレージ、組織、および検索機能を提供し、Web、モバイル、およびエンタープライズレベルのシステムをサポートします。 2)クライアントサーバーアーキテクチャを使用し、複数のストレージエンジンとインデックスの最適化をサポートします。 3)基本的な使用には、テーブルの作成とデータの挿入が含まれ、高度な使用法にはマルチテーブル結合と複雑なクエリが含まれます。 4)SQL構文エラーやパフォーマンスの問題などのよくある質問は、説明コマンドとスロークエリログを介してデバッグできます。 5)パフォーマンス最適化方法には、インデックスの合理的な使用、最適化されたクエリ、およびキャッシュの使用が含まれます。ベストプラクティスには、トランザクションと準備された星の使用が含まれます

MySQLは、そのパフォーマンス、信頼性、使いやすさ、コミュニティサポートに選択されています。 1.MYSQLは、複数のデータ型と高度なクエリ操作をサポートし、効率的なデータストレージおよび検索機能を提供します。 2.クライアントサーバーアーキテクチャと複数のストレージエンジンを採用して、トランザクションとクエリの最適化をサポートします。 3.使いやすく、さまざまなオペレーティングシステムとプログラミング言語をサポートしています。 4.強力なコミュニティサポートを提供し、豊富なリソースとソリューションを提供します。

Apacheはデータベースに接続するには、次の手順が必要です。データベースドライバーをインストールします。 web.xmlファイルを構成して、接続プールを作成します。 JDBCデータソースを作成し、接続設定を指定します。 JDBC APIを使用して、接続の取得、ステートメントの作成、バインディングパラメーター、クエリまたは更新の実行、結果の処理など、Javaコードのデータベースにアクセスします。

Redisデータベースの効果的な監視は、最適なパフォーマンスを維持し、潜在的なボトルネックを特定し、システム全体の信頼性を確保するために重要です。 Redis Exporter Serviceは、Prometheusを使用してRedisデータベースを監視するために設計された強力なユーティリティです。 このチュートリアルでは、Redis Exporterサービスの完全なセットアップと構成をガイドし、監視ソリューションをシームレスに構築します。このチュートリアルを研究することにより、完全に動作する監視設定を実現します

DockerでMySQLを起動するプロセスは、次の手順で構成されています。MySQLイメージをプルしてコンテナを作成および起動し、ルートユーザーパスワードを設定し、ポート検証接続をマップしてデータベースを作成し、ユーザーはすべての権限をデータベースに付与します。
