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を構成する方法

推薦する

Linux で docker-compose を使用したソフトウェア構成の詳細な説明

序文この記事では、docker-compose の構成をいくつか紹介します。これらを参考にして、独自...

ReactはExcelファイルのインポートとエクスポートを実装します

目次プレゼンテーション層ビジネスレイヤーコアプラグイン xlsx ExcelインポートExcelエク...

uniapp vue および nvue カルーセル コンポーネントのサンプル コード

vueの部分は以下のとおりです。 <テンプレート> <ビュークラス="&...

タイプファイルの入力ボタン機能の研究

<br />一部のWebサイトでアップロードする場合、「参照」ボタンをクリックすると[フ...

IDEA に基づいて Tomcat サーバーを展開するための詳細な手順

目次導入ステップ1ステップ2: アイデアで動的Webプロジェクトを作成するステップ3: Tomcat...

Dockerカスタムネットワークの詳細な紹介

目次Dockerカスタムネットワーク1. カスタムネットワークの紹介2. カスタムネットワークを作成...

インタラクティブな視覚化 JS ライブラリ gojs の使い方の紹介とヒント

目次1. gojsの紹介2. Gojsのアプリケーションシナリオ3. gojs を選ぶ理由: 4. ...

Gitlab-ci を使用してリモート マシンに継続的にデプロイする方法 (詳細なチュートリアル)

簡単に言うと、今日は Gitlab-CI を使用してリモート サーバーに自動的にデプロイする方法につ...

Angular CDK を使用してサービスポップアップトーストコンポーネント機能を実装する

目次1. 環境設備2. ToastコンポーネントとToastServiceを作成する2.1 Toas...

404エラーページを作成する際に注意すべき問題の簡単な分析

ウェブサイトを最適化するときは、エラー ページの使い方を学ぶ必要があります。たとえば、ウェブサイトに...

Linuxはiptablesを使用して複数のIPからのサーバーへのアクセスを制限します

序文Linux カーネルでは、netfilter は、パケット フィルタリング、ネットワーク アドレ...

img タグの src 属性値が空の場合の 2 つのリクエストの問題 (IE 以外のブラウザ)

img src 値が空の場合、リクエストが 2 つ行われます。一部の学生は以前に同様の状況に遭遇した...

VMware Workstation Pro 16 グラフィックチュートリアル (CentOS8 仮想マシン クラスタの構築)

目次準備VMware Workstation Pro 16 をインストールするLinux仮想マシンの...

MySQLのインデックス設計の原則と一般的なインデックスの違いについて簡単に説明します。

インデックス定義: ディスク上に保存される個別のデータベース構造であり、データ テーブル内のすべての...

忘れられたMySQLパスワードとログインエラーの問題について簡単に説明します

MySQL ログイン パスワードを忘れた場合、解決方法は実はとても簡単です。MySQL メイン構成フ...