MySQL マスタースレーブ構成の学習ノート

MySQL マスタースレーブ構成の学習ノート

● 新しいプロジェクトのセキュリティを確保するためにクラウド データを購入する予定でした。 Alibaba Cloud と Tencent Cloud を比較検討した結果、どちらも高すぎるという結論に達しました。データがバックアップされているだけではないでしょうか?それなら自分でバックアップを取ったほうがいいかもしれません。

● 自宅に Raspberry Pi が 2 台あるので、そこに MySQL をバックアップすればいいんです。ネットにチュートリアルがあるので、早速始めます。 segmentfault mysql に関するいくつかの記事を検索し、そこに書かれていることを実行しましたが、もちろん失敗しました。成功していたら、この記事を書いていなかったでしょう。 ps: 彼らのチュートリアルはすべて正しいです。

● ここで、オンライン チュートリアルに従って、マスター サーバーとスレーブ サーバーの構成を開始します。

1. マスター設定(マスター)

mysql設定ファイル(通常は/etc/mysql/my.conf)を変更します。

server-id=1 //mysql の ID 識別子を設定します。log-bin=/var/lib/mysql/mysql-bin //log-bin ログ ファイル。このログ レコードを使用してマスター スレーブ バックアップが実装されます。#binlog-do-db=mysql1 #バックアップするデータベースの名前。複数のデータベースをバックアップする場合は、このオプションを繰り返し設定します。#binlog-ignore-db=mysql2 #バックアップする必要のないデータベースの名前。複数のデータベースをバックアップする場合は、このオプションを繰り返し設定します。#log-slave-updates=1 #スレーブ ライブラリが他のスレーブ ライブラリのマスター ライブラリでもある場合は、このパラメータを追加する必要があります。そうしないと、更新されたレコードが binglog のバイナリ ファイルに書き込まれません。#slave-skip-errors=1 #エラーをスキップしてレプリケーション操作を続行します (オプション)

メインのmysqlに同期用のアカウントを2つ追加する

mysql> '123456' で識別される 'sync-1'@'%' に *.* 上のレプリケーション スレーブを許可します。

mysql> '123456' で識別される 'sync-2'@'%' に *.* 上のレプリケーションスレーブを許可します。

msqlを再起動する

mysql>show master status; //マスターmysqlのステータスを表示できます

2. スレーブ設定

MySQL 構成ファイル my.conf を変更します。2 つのスレーブ ノードの構成方法は同じです。

サーバーID=2
#log-bin=/var/lib/mysql/mysql-bi //mysqlからログファイルを設定する必要はありません

mysql にコマンドパラメータを追加すると、master_log_file と master_log_pos は、show master status を使用してマスター mysql で照会できるようになります。

mysql>マスターをmaster_host='192.168.145.222'、master_user='sync-1'、master_password='123456'、master_log_file='mysql-bin.000001'、master_log_pos=308に変更します。 

mysql>start slave //Startmysql>show slave status\G //クエリステータス。Slave_IO_RunningとSlave_IO_Runningの両方がyesの場合は成功を意味します。

3. セットアップ中に発生した問題

最終エラー番号: 1146

スレーブをセットアップしたとき、マスター MySQL にはすでにテーブルがありました。テーブルが作成されたとき、binlog バイナリ ログに記録がなかったため、スレーブ MySQL はデータを書き込むことができませんでした。このとき、データベース ファイルをスレーブ MySQL に手動でインポートする必要がありました。その理由は、オンライン チュートリアルではすべて新しくインストールされたマスター MySQL とスレーブ MySQL が示されていたため、既存のデータに問題はなかったからです。

最終エラー番号: 1062

クエリでエラー「キー 'PRIMARY' のエントリ 'xxxxx' が重複しています」

主キーの競合。この問題はより複雑です。テーブル設定が間違っている可能性があります。後で、Stack Overflow でこの問題の解決策を見つけました。

# スレーブ上
mysql> スレーブを停止します。
mysql> 権限をフラッシュします。
# マスターレストマスター
mysql> マスターをリセットします。
# スレーブ上;
mysql> スレーブをリセットします。
mysql> スレーブを起動します。

これで、MySQL マスタースレーブ構成の勉強ノートに関する記事は終了です。MySQL マスタースレーブ構成のより詳しい情報については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Linux ベースの MySQL マスター スレーブ構成の全プロセスを記録する
  • MySQL5.7 マスタースレーブ構成例の分析
  • Docker mysql マスタースレーブ構成の詳細と例
  • MySQL マスタースレーブ構成ソリューションに関する簡単なメモ
  • MySQLデータベースのマスタースレーブ構成方法の共有
  • Mysqlはマスタースレーブ構成とマルチマスターマルチスレーブ構成を実装します

<<:  Vue の vue.$set() メソッドのソースコード例の詳細な説明

>>:  DockerをインストールしてAlibaba Cloud Image Acceleratorを構成する方法

推薦する

CSS3 のボックス サイズ設定 (コンテンツ ボックスとボーダー ボックス) の詳細な説明

CSS3 のボックス サイズ設定 (content-box と border-box) CSS3 の...

VMware Workstationはデバイス/資格情報ガードと互換性がありません

仮想マシンをインストールするときに、「VMware ワークステーションはデバイス/資格情報ガードと互...

MySql 8.0.16-win64 インストール チュートリアル

1. ダウンロードしたファイルを以下のように解凍します。 。 2. 環境変数に解凍ディレクトリを追加...

分散監視システムZabbixはSNMPとJMXチャネルを使用してデータを収集します

前回の記事では、Zabbix のパッシブ、アクティブ、Web 監視に関するトピックについて学習しまし...

CSS が複数のクラスに一致する方法のサンプルコード

CSSは複数のクラスにマッチする次の HTML タグ li、クラスはオープン スタイルです。私の要件...

JavaScript ベースの Web 計算機の実装

この記事では、ウェブ計算機のマインスイーパゲームを実装するためのJavaScriptの具体的なコード...

Nginx のステータス監視とログ分析の詳細な説明

1. Nginx ステータス監視Nginx には、Nginx の全体的なアクセス ステータスを監視す...

MySQL共通インデックスとユニークインデックスの詳細な説明

シナリオ1. ID番号のフィールドを備えた市民システムを維持する2. ビジネス コードでは、重複する...

Tomcat のパフォーマンス最適化方法の簡単な概要

Tomcat自体の最適化Tomcat メモリ最適化起動時に大きなメモリ ブロックが必要であることを ...

Vue+Openlayer で select を使用して要素を選択する実装コード

効果画像: 実装コード: <テンプレート> <div id="map&q...

Dockerコンテナの構築と実行のプロセスの詳細な説明

イメージをプルし、コンテナを作成してコンテナを実行するだけです。 docker run -d --r...

ReactのsetStateがマクロタスクなのかマイクロタスクなのかについて詳しく話しましょう

目次序文面接官は適切な質問をしていますか? § React は setState をどのように制御し...

Ubuntu 19でdockerソースをインストールできない問題を共有する

主要な Web サイトと個人的な習慣に従って、Docker ソースを追加するには次の方法を使用します...

Web コンテンツ ページを作成するための 9 つの実用的なヒント

コンテンツ1. 読者に留まる理由を与える。ウェブページを面白く魅力的なものにしましょう。しかし、まず...

Linux環境でのDockerインストールチュートリアル

1. 設置環境Dockerは次のCentOSバージョンをサポートしていますCentOS 6.5 (6...