ホームページ データベース mysql チュートリアル MYSQL 的MASTER到MASTER的主主循环同步_MySQL

MYSQL 的MASTER到MASTER的主主循环同步_MySQL

Jun 01, 2016 pm 02:01 PM
ホスト 影響

    以前抽空做的MYSQL 的主主同步。
不过心理做好准备,对性能会有一定的影响!
把步骤写下来,至于会出现的什么问题,以后随时更新。这里我同步的数据库是TEST
1、环境描述。
   主机:192.168.0.231(A)
   主机:192.168.0.232(B)
   MYSQL 版本为5.1.21
2、授权用户。
A:
mysql> grant replication slave,file on *.* to 'repl1'@'192.168.0.232' identified
 by '123456';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
B:
mysql> grant replication slave,file on *.* to 'repl2'@'192.168.0.231' identified
 by '123456';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
然后都停止MYSQL 服务器。

3、配置文件。
在两个机器上的my.cnf里面都开启二进制日志 。
A:
user = mysql
log-bin=mysql-bin
server-id       = 1
binlog-do-db=test
binlog-ignore-db=mysql
replicate-do-db=test
replicate-ignore-db=mysql
log-slave-updates
slave-skip-errors=all
sync_binlog=1
auto_increment_increment=2
auto_increment_offset=1

B:
user = mysql
log-bin=mysql-bin
server-id       = 2
binlog-do-db=test
binlog-ignore-db=mysql
replicate-do-db=test
replicate-ignore-db=mysql
log-slave-updates
slave-skip-errors=all
sync_binlog=1
auto_increment_increment=2
auto_increment_offset=2
至于这些参数的说明具体看手册。
红色的部分非常重要,如果一个MASTER 挂掉的话,另外一个马上接管。
紫红色的部分指的是服务器频繁的刷新日志。这个保证了在其中一台挂掉的话,日志刷新到另外一台。从而保证了数据的同步 。
4、重新启动MYSQL服务器。
在A和B上执行相同的步骤
[root@localhost ~]# /usr/local/mysql/bin/mysqld_safe &
[1] 4264
[root@localhost ~]# 071213 14:53:20 mysqld_safe Logging to '/usr/local/mysql/data/localhost.localdomain.err'.
/usr/local/mysql/bin/mysqld_safe: line 366: [: -eq: unary operator expected
071213 14:53:20 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data

5、进入MYSQL的SHELL。
A:
mysql> flush tables with read lock/G
Query OK, 0 rows affected (0.00 sec)

mysql> show master status/G
*************************** 1. row ***************************
            File: mysql-bin.000007
        Position: 528
    Binlog_Do_DB: test
Binlog_Ignore_DB: mysql
1 row in set (0.00 sec)

B:
mysql> flush tables with read lock;
Query OK, 0 rows affected (0.00 sec)

mysql> show master status/G
*************************** 1. row ***************************
            File: mysql-bin.000004
        Position: 595
    Binlog_Do_DB: test
Binlog_Ignore_DB: mysql
1 row in set (0.00 sec)
然后备份自己的数据,保持两个机器的数据一致。
方法很多。完了后看下一步。
6、在各自机器上执行CHANGE MASTER TO命令。
A:
mysql> change master to
    -> master_host='192.168.0.232',
    -> master_user='repl2',
    -> master_password='123456',
    -> master_log_file='mysql-bin.000004',
    -> master_log_pos=595;
Query OK, 0 rows affected (0.01 sec)
mysql> start slave;
Query OK, 0 rows affected (0.00 sec)


B:
mysql> change master to
    -> master_host='192.168.0.231',
    -> master_user='repl1',
    -> master_password='123456',
    -> master_log_file='mysql-bin.000007',
    -> master_log_pos=528;
Query OK, 0 rows affected (0.01 sec)
mysql> start slave;
Query OK, 0 rows affected (0.00 sec)

7、查看各自机器上的IO进程和 SLAVE进程是否都开启。
A:

mysql> show processlist/G
*************************** 1. row ***************************
     Id: 2
   User: repl
   Host: 192.168.0.232:54475
     db: NULL
Command: Binlog Dump
   Time: 1590
  State: Has sent all binlog to slave; waiting for binlog to be updated
   Info: NULL
*************************** 2. row ***************************
     Id: 3
   User: system user
   Host:
     db: NULL
Command: Connect
   Time: 1350
  State: Waiting for master to send event
   Info: NULL
*************************** 3. row ***************************
     Id: 4
   User: system user
   Host:
     db: NULL
Command: Connect
   Time: 1149
  State: Has read all relay log; waiting for the slave I/O thread to update it
   Info: NULL
*************************** 4. row ***************************
     Id: 5
   User: root
   Host: localhost
     db: test
Command: Query
   Time: 0
  State: NULL
   Info: show processlist
4 rows in set (0.00 sec)

B:

mysql> show processlist/G
*************************** 1. row ***************************
     Id: 1
   User: system user
   Host:
     db: NULL
Command: Connect
   Time: 2130
  State: Waiting for master to send event
   Info: NULL
*************************** 2. row ***************************
     Id: 2
   User: system user
   Host:
     db: NULL
Command: Connect
   Time: 1223
  State: Has read all relay log; waiting for the slave I/O thread to update it
   Info: NULL
*************************** 3. row ***************************
     Id: 4
   User: root
   Host: localhost
     db: test
Command: Query
   Time: 0
  State: NULL
   Info: show processlist
*************************** 4. row ***************************
     Id: 5
   User: repl2
   Host: 192.168.0.231:50718
     db: NULL
Command: Binlog Dump
   Time: 1398
  State: Has sent all binlog to slave; waiting for binlog to be updated
   Info: NULL
4 rows in set (0.00 sec)

如果红色部分没有出现,检查DATA目录下的错误文件。

8、释放掉各自的锁,然后进行插数据测试。
mysql> unlock tables;
Query OK, 0 rows affected (0.00 sec)

插入之前两个机器表的对比:
A:

mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| t11_innodb     |
| t22            |
+----------------+
B:

mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| t11_innodb     |
| t22            |
+----------------+
从A机器上进行插入
A:
mysql> create table t11_replicas
    -> (id int not null auto_increment primary key,
    -> str varchar(255) not null) engine myisam;
Query OK, 0 rows affected (0.01 sec)

mysql> insert into t11_replicas(str) values
    -> ('This is a master to master test table');
Query OK, 1 row affected (0.01 sec)

mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| t11_innodb     |
| t11_replicas   |
| t22            |
+----------------+
3 rows in set (0.00 sec)

mysql> select * from t11_replicas;
+----+---------------------------------------+
| id | str                                   |
+----+---------------------------------------+
|  1 | This is a master to master test table |
+----+---------------------------------------+
1 row in set (0.00 sec)


现在来看B机器:

mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| t11_innodb     |
| t11_replicas   |
| t22            |
+----------------+
3 rows in set (0.00 sec)

mysql> select * from t11_replicas;
+----+---------------------------------------+
| id | str                                   |
+----+---------------------------------------+
|  1 | This is a master to master test table |
+----+---------------------------------------+
1 row in set (0.00 sec)

现在反过来从B机器上插入数据:
B:

mysql> insert into t11_replicas(str) values('This is a test 2');
Query OK, 1 row affected (0.00 sec)

mysql> select * from t11_replicas;
+----+---------------------------------------+
| id | str                                   |
+----+---------------------------------------+
|  1 | This is a master to master test table |
|  2 | This is a test 2                      |
+----+---------------------------------------+
2 rows in set (0.00 sec)
我们来看A
A:
mysql> select * from t11_replicas;
+----+---------------------------------------+
| id | str                                   |
+----+---------------------------------------+
|  1 | This is a master to master test table |
|  2 | This is a test 2                      |
+----+---------------------------------------+
2 rows in set (0.00 sec)

好了。现在两个表互相为MASTER。

多MASTER自增字段冲突的问题。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

VBOX_E_OBJECT_NOT_FOUND(0x80bb0001)VirtualBox エラー VBOX_E_OBJECT_NOT_FOUND(0x80bb0001)VirtualBox エラー Mar 24, 2024 am 09:51 AM

VirtualBox でディスク イメージを開こうとすると、ハード ドライブを登録できないことを示すエラーが発生する場合があります。これは通常、開こうとしている VM ディスク イメージ ファイルが別の仮想ディスク イメージ ファイルと同じ UUID を持つ場合に発生します。この場合、VirtualBox はエラー コード VBOX_E_OBJECT_NOT_FOUND(0x80bb0001) を表示します。このエラーが発生した場合でも、心配する必要はありません。試すことができる解決策がいくつかあります。まず、VirtualBox のコマンド ライン ツールを使用して、ディスク イメージ ファイルの UUID を変更してみてください。これにより、競合が回避されます。コマンド「VBoxManageinternal」を実行できます。

機内モードを使用した電話の受信はどの程度効果的ですか? 機内モードを使用した電話の受信はどの程度効果的ですか? Feb 20, 2024 am 10:07 AM

機内モードで電話をかけるとどうなるのですか? 携帯電話は、コミュニケーションツールであるだけでなく、娯楽、学習、仕事などの機能が集約された、人々の生活に欠かせないツールの一つとなっています。携帯電話機能の継続的なアップグレードと改善により、人々の携帯電話への依存度はますます高まっています。機内モードの登場により、人々は飛行中に携帯電話をより便利に使用できるようになりました。しかし、機内モードでの他人の通話が携帯電話やユーザーにどのような影響を与えるのかを心配する人もいます。この記事では、いくつかの側面から分析して議論します。初め

ホストのドメイン名とホストの IP アドレスの間にはどのような関係がありますか? ホストのドメイン名とホストの IP アドレスの間にはどのような関係がありますか? Jan 14, 2021 pm 06:02 PM

ホストのドメイン名とホストの IP アドレスの関係は次のとおりです。1 つの IP アドレスが複数のドメイン名に対応します。 IP アドレスはデジタル形式を使用してコンピュータ ネットワーク内のホストを識別し、ドメイン名は文字形式を使用してコンピュータ ネットワーク内のホストを識別します。インターネットでは、1 つのドメイン名が 1 つの IP アドレスに対応しますが、1 つの IP アドレスが複数のドメイン名に対応することもあります。

MSI が MEG Vision を展示 MSI が MEG Vision を展示 Jun 09, 2024 am 11:15 AM

6月5日の当サイトのニュースによると、MSIは2024年台北国際コンピュータショーに参加し、MEGVisionXAIと呼ばれる新しいフラッグシップゲーミングコンピュータを展示した。このゲーム機は既存の Vision シリーズを拡張したもので、内部コンポーネントがはっきりと見える、非常に目を引くサラウンド ガラス デザインを採用しています。最も魅力的なのは、ホストの前面に特大タッチスクリーンが装備されており、MSI独自のAIアプリケーションを同期して、さまざまなAI機能をさらに強化できることだとMSIスタッフは述べています。このサイトに添付されている関連写真は次のとおりです: MSI はまだ詳細を説明していませんが、共有された写真からは、ユーザーが画面上でローカル AI チャットボットを操作し、AI タスクの完了を依頼できることがわかります。ローカルに保存されているドキュメントを見つけて待ちます。上の画像の出典:

Lenovo YOGA Portal ミニホストが7月27日に正式発表、ChinaJoyから発売、350W電源内蔵 Lenovo YOGA Portal ミニホストが7月27日に正式発表、ChinaJoyから発売、350W電源内蔵 Jul 23, 2024 pm 01:47 PM

7月23日のこのウェブサイトのニュースによると、長い間暴露されていたLenovoのYOGA Portal高性能デスクトップコンピュータが、7月27日に上海のChinaJoyで正式にリリースされることが確認されました。プロフェッショナルな AI 作成のために設計されたホスト。これは、パフォーマンスマスターであり、3Dデジタル人物のAI作成の専門家です。AI仮想背景は、上海の友人@yuPによって提供された現場の写真に基づいています。この小さなホストの容積はわずか3.7Lです。陽極酸化アルミニウム製で、Intel Core i7-14700 プロセッサー、32GBDDR5 メモリー、1TB ソリッド ステート ドライブを搭載しています。 YOGA Portal はホストでもあり、オールインワン AI 作成マシンでもあります。高性能ホストは、アルゴリズムが最適化されたカメラと組み合わされて、統合ソリューションを形成します。カメラの前に立つだけです。

Java のファイル インクルードの脆弱性とその影響 Java のファイル インクルードの脆弱性とその影響 Aug 08, 2023 am 10:30 AM

Java は、さまざまなアプリケーションの開発に使用される一般的なプログラミング言語です。ただし、他のプログラミング言語と同様に、Java にもセキュリティ上の脆弱性とリスクがあります。一般的な脆弱性の 1 つは、ファイル インクルードの脆弱性 (FileInclusionVulnerability) です。この記事では、この脆弱性の原理、影響、および防止方法について説明します。ファイルインクルードの脆弱性とは、プログラム内に他のファイルが動的に導入または組み込まれることを指しますが、導入されたファイルは完全に検証および保護されていないため、

TikTokのコメント機能をオフにする方法は? TikTokのコメント機能をオフにするとどうなりますか? TikTokのコメント機能をオフにする方法は? TikTokのコメント機能をオフにするとどうなりますか? Mar 23, 2024 pm 06:20 PM

Douyin プラットフォームでは、ユーザーは自分の人生の瞬間を共有するだけでなく、他のユーザーと交流することもできます。コメント機能は、オンラインでの暴力や悪意のあるコメントなど、不快な経験を引き起こす可能性があります。では、TikTokのコメント機能をオフにするにはどうすればよいでしょうか? 1.Douyinのコメント機能をオフにする方法は? 1. Douyin APPにログインし、個人のホームページに入ります。 2. 右下隅の「I」をクリックして設定メニューに入ります。 3. 設定メニューで、「プライバシー設定」を見つけます。 4. [プライバシー設定] をクリックして、プライバシー設定インターフェイスに入ります。 5. プライバシー設定インターフェイスで、「コメント設定」を見つけます。 6. 「コメント設定」をクリックして、コメント設定インターフェースに入ります。 7. コメント設定インターフェイスで、「コメントを閉じる」オプションを見つけます。 8. [コメントを閉じる] オプションをクリックして、コメントを閉じることを確認します。

データ不足がモデルトレーニングに及ぼす影響 データ不足がモデルトレーニングに及ぼす影響 Oct 08, 2023 pm 06:17 PM

データ不足がモデル トレーニングに与える影響には、特定のコード サンプルが必要です。機械学習と人工知能の分野では、データはモデルをトレーニングするための中核要素の 1 つです。しかし、実際に私たちがよく直面する問題はデータ不足です。データ不足とは、トレーニング データの量が不足していること、またはアノテーション付きデータが不足していることを指し、この場合、モデルのトレーニングに一定の影響を及ぼします。データ不足の問題は、主に次の側面に反映されます。 過学習: トレーニング データの量が不十分な場合、モデルは過学習する傾向があります。過学習とは、モデルがトレーニング データに過剰に適応することを指します。

See all articles