ホームページ データベース mysql チュートリアル mysql的主从复制与半同步复制(一)

mysql的主从复制与半同步复制(一)

Jun 07, 2016 pm 05:38 PM
mysqlマスタースレーブレプリケーション 半同期レプリケーション

一、mysql的主从复制复制过程需要至少两个mysql服务节点,mysql的主从复制框架一般都为一主多从,从多机房汇总到数据中心的模式,而复制过程只能从主服务器到从

一、mysql的主从复制

复制过程需要至少两个mysql服务节点,mysql的主从复制框架一般都为一主多从,,从多机房汇总到数据中心的模式,而复制过程只能从主服务器到从服务器实现。

复制过程中,主服务器负责读/写操作,而从服务器只负责读操作

二、主从复制的功能

1、实现数据冗余、异地灾备恢复、备份

2、实现数据的读/写分离

3、实现数据库服务的负载均衡

4、实现高可用与故障切换

5、实现MySQL的升级测试

三、主从复制过程中注意的事项

1、不要混合shi用不同的存储引擎

2、主从服务器的server-id 要保持不同

3、尽力避免修改从服务器的数据库

4、尽可能的使用基于行或基于混合模式的复制,避免使用基于语句的复制

5、主服务器要启动二进制日志,而从节点则是开启中继日志,而且要确保从服务器的复制线程时刻开启着

6、注意因为磁盘及内存的大小不足而导致的复制崩溃

四、主从复制的具体实现过程

mysql主从复制拓扑图

212339331.jpg

1、准备两个安装过mysql服务的节点xz:172.16.200.5,node2:172.16.200.7,修改主机名并同步时间;

[root@xz ~]# hostname master [root@master ~]# crontab -e */1 * * * * /usr/sbin/ntpdate 172.16.0.1 &> /dev/null [root@node2 ~]# hostname slave [root@slave ~]# crontab -e */1 * * * * /usr/sbin/ntpdate 172.16.0.1 &> /dev/null

2、在主节点上创建有复制权限的用户,于从节点上使用授权用户连接测试;


[root@master ~]# mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 Server version: 5.5.33-log MySQL Community Server (GPL) 。。。。。 mysql> grant replication slave,replication client on *.* to 'zly'@'172.16.200.7' identified by 'mypass'; Query OK, 0 rows affected (0.35 sec) mysql> flush privileges; Query OK, 0 rows affected (0.09 sec) mysql> show grants for 'zly'@'172.16.200.7'; +-----------------------------------------------------------------------------------------------------------------------------------------------+ | Grants for zly@172.16.200.7 | +-----------------------------------------------------------------------------------------------------------------------------------------------+ | GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'zly'@'172.16.200.7' IDENTIFIED BY PASSWORD '*6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4' | +-----------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.03 sec) ........... [root@slave ~]# mysql -uzly -pmypass -h 172.16.200.5 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 4 Server version: 5.5.33-log MySQL Community Server (GPL) Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>

3、修改主从两个节点的配置文件,并重新启动mysql服务;

[root@master ~]# vim /etc/my.cnf log-bin=mysql-bin log_bin_index = mysql_bin.index binlog_format=mixed server-id = 5 [root@master ~]# killall mysqld [root@master ~]# ps aux | grep mysqld root 7700 0.0 0.1 103244 832 pts/3 S+ 09:27 0:00 grep mysqld [root@master ~]# service mysqld restart MySQL server PID file could not be found! [FAILED] Starting MySQL... [ OK ] [root@master ~]# service mysqld restart Shutting down MySQL. [ OK ] Starting MySQL.. [ OK ] ............... [root@slave ~]# vim /etc/my.cnf #log-bin=mysql-bin # binary logging format - mixed recommended #binlog_format=mixed skip_slave_start = 1 read_only = 1 relay_log = relay_log relay_log_index = relay_log.index # required unique id between 1 and 2^32 - 1 # defaults to 1 if master-host is not set # but will not function as a master if omitted server-id = 7 [root@slave ~]# killall mysqld [root@slave ~]# ps aux | grep mysqld root 8796 0.0 0.1 103244 832 pts/4 S+ 23:45 0:00 grep mysqld [root@slave ~]# service mysqld restart MySQL server PID file could not be found! [FAILED] Starting MySQL.. [ OK ] [root@slave ~]# service mysqld restart Shutting down MySQL. [ OK ] Starting MySQL.. [ OK ]

4、查看主节点的二进制日志及其事件位置;

mysql> show master status; +------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000011 | 107 | | | +------------------+----------+--------------+------------------+ 1 row in set (0.00 sec)

5、与从节点上复制主节点上的数据;

[root@slave ~]# mysql mysql> help change master to Name: 'CHANGE MASTER TO' Description: Syntax: CHANGE MASTER TO option [, option] ... option: MASTER_BIND = 'interface_name' | MASTER_HOST = 'host_name' | MASTER_USER = 'user_name' | MASTER_PASSWORD = 'password' | MASTER_PORT = port_num | MASTER_CONNECT_RETRY = interval | MASTER_HEARTBEAT_PERIOD = interval | MASTER_LOG_FILE = 'master_log_name' | MASTER_LOG_POS = master_log_pos | RELAY_LOG_FILE = 'relay_log_name' | RELAY_LOG_POS = relay_log_pos | MASTER_SSL = {0|1} | MASTER_SSL_CA = 'ca_file_name' | MASTER_SSL_CAPATH = 'ca_directory_name' | MASTER_SSL_CERT = 'cert_file_name' | MASTER_SSL_KEY = 'key_file_name' | MASTER_SSL_CIPHER = 'cipher_list' | MASTER_SSL_VERIFY_SERVER_CERT = {0|1} | IGNORE_SERVER_IDS = (server_id_list) server_id_list: [server_id [, server_id] ... ] ........................................ mysql> change master to -> master_host='172.16.200.5',master_user='zly',master_password='mypass ',master_port=3306,master_log_file='mysql-bin.000011',master_log_pos=107; Query OK, 0 rows affected (0.07 sec)

6、启动从服务器复制线程、查看状态,并查看启动的线程;

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

データのバックアップと障害復旧: クラスター モードでの MySQL マスター/スレーブ レプリケーションの重要性についてのディスカッション データのバックアップと障害復旧: クラスター モードでの MySQL マスター/スレーブ レプリケーションの重要性についてのディスカッション Sep 08, 2023 am 09:03 AM

データのバックアップと障害回復: クラスター モードでの MySQL マスター/スレーブ レプリケーションの重要性についての議論 はじめに: 近年、データの規模と複雑さが継続的に増大するため、データベースのバックアップと障害回復が特に重要になってきています。分散システムでは、高可用性とフォールト トレランスを提供するために、MySQL マスター/スレーブ レプリケーションがクラスター モードで広く使用されています。この記事では、クラスター モードでの MySQL マスター/スレーブ レプリケーションの重要性を検討し、いくつかのコード例を示します。 1. MySQL マスター/スレーブ レプリケーションの基本原理と利点 MySQL マスター/スレーブ レプリケーションは、一般的な

半同期レプリケーションを使用して MySQL のパフォーマンスを向上させる方法 半同期レプリケーションを使用して MySQL のパフォーマンスを向上させる方法 May 11, 2023 am 10:21 AM

インターネットの継続的な発展に伴い、データ量が爆発的に増加したため、データベースは多くの Web サイト、アプリケーション、システムの中核コンポーネントとなっています。オープンソースのリレーショナル データベース管理システムとして、MySQL は安定性、信頼性、費用対効果の点で利点があるため、業界で広く使用されている推奨データベースとなっています。しかし、実際の運用環境では、データ量が増加するにつれて、MySQL のパフォーマンスの問題が徐々に明らかになります。特に大規模なエンタープライズ アプリケーションでは、大量のデータの読み取りと書き込み、高い同時リクエスト、データの信頼性などの要件があります。

高い同時実行性に簡単に対処: クラスター テクノロジとしての MySQL マスター/スレーブ レプリケーションのパフォーマンス上の利点の分析 高い同時実行性に簡単に対処: クラスター テクノロジとしての MySQL マスター/スレーブ レプリケーションのパフォーマンス上の利点の分析 Sep 10, 2023 pm 03:48 PM

高い同時実行性に簡単に対処: クラスター テクノロジとしての MySQL マスター/スレーブ レプリケーションのパフォーマンス上の利点の分析 インターネットの急速な発展に伴い、Web サイトやアプリケーションへのユーザーのアクセス数は爆発的な増加傾向を示しています。このような同時実行性の高い状況では、システムの安定性とパフォーマンスをどのように確保するかが、すべての開発者とシステム管理者にとって重要な課題となっています。データベースでは、MySQL のマスター/スレーブ レプリケーション テクノロジが広く使用されており、高い同時実行性に対処する効果的なソリューションの 1 つとなっています。この記事では、クラスター テクノロジとしての MySQL マスター/スレーブ レプリケーションのパフォーマンス上の利点について説明します。初め

MySQL マスター/スレーブ レプリケーションの解読: クラスター モードでの主要な実装メカニズムを明らかにする MySQL マスター/スレーブ レプリケーションの解読: クラスター モードでの主要な実装メカニズムを明らかにする Sep 10, 2023 am 09:28 AM

MySQL マスター/スレーブ レプリケーションの解読: クラスター モードでの主要な実装メカニズムを明らかにする はじめに: 最新のデータベース システムでは、データの高可用性と柔軟性が非常に重要です。オープンソースのリレーショナル データベース管理システムとして、MySQL にはユーザーのニーズを満たす幅広いアプリケーションがあります。 MySQL のマスター/スレーブ レプリケーションは、MySQL データベース アーキテクチャの非常に重要な部分であり、データのバックアップと高可用性を実現するために使用されます。この記事では、特にクラスター モードにおける MySQL マスター/スレーブ レプリケーションの主要な実装メカニズムを明らかにすることに焦点を当てます。

データベースのパフォーマンスの最適化: クラスター テクノロジで MySQL マスター/スレーブ レプリケーションを使用する最良の方法 データベースのパフォーマンスの最適化: クラスター テクノロジで MySQL マスター/スレーブ レプリケーションを使用する最良の方法 Sep 10, 2023 am 08:24 AM

データベース パフォーマンスの最適化: クラスター テクノロジで MySQL マスター/スレーブ レプリケーションを使用する最良の方法 要約: インターネットの急速な発展に伴い、データベース パフォーマンスの問題がさまざまな企業や組織の焦点になっています。 MySQL のマスター/スレーブ レプリケーション テクノロジーは、データベースのパフォーマンスのボトルネックを解決する上で重要な役割を果たします。この記事では、読者がデータベースのパフォーマンスを最適化できるように、MySQL マスター/スレーブ レプリケーションの概念と原則、およびクラスター テクノロジの最適な使用方法を紹介します。 1. はじめに データ量が増加し続けるにつれて、データベースのパフォーマンスの問題がますます顕著になってきています。数値を最適化する方法

MySQL のマスター/スレーブ レプリケーションはクラスター テクノロジですか、それともロード バランシング テクノロジですか?分析と違い MySQL のマスター/スレーブ レプリケーションはクラスター テクノロジですか、それともロード バランシング テクノロジですか?分析と違い Sep 10, 2023 am 08:40 AM

MySQL のマスター/スレーブ レプリケーションはクラスター テクノロジですか、それともロード バランシング テクノロジですか?分析と相違点の概要: MySQL マスター/スレーブ レプリケーションは、複数のサーバー上のデータベース データを同期するために使用されるデータベース レプリケーション テクノロジです。この記事では、MySQL のマスター/スレーブ レプリケーション、クラスター テクノロジ、およびロード バランシング テクノロジの違いを、技術原則、アプリケーション シナリオ、機能特性の観点から分析して区別します。はじめに: 最新のインターネット アプリケーションでは、データベースの高可用性とスケーラビリティが非常に重要です。 MySQL のマスター/スレーブ レプリケーションは一般的なソリューションの 1 つですが、

クラスタ技術におけるMySQLマスタースレーブレプリケーションの機能とメリットを詳しく解説 クラスタ技術におけるMySQLマスタースレーブレプリケーションの機能とメリットを詳しく解説 Sep 09, 2023 am 09:03 AM

クラスタテクノロジにおける MySQL マスタースレーブレプリケーションの機能と利点の詳細な説明 はじめに MySQL は、さまざまな大規模な Web サイトやアプリケーションで広く使用されている強力なリレーショナル データベース管理システムです。データ量が増加し、アクセス要求が増加するにつれて、単一の MySQL サーバーにかかる負荷が徐々に増大し、データベースのパフォーマンスと信頼性を向上させるために、クラスター テクノロジが採用され始めています。一般的に使用されるテクノロジーを意味します。 MySQL のマスター/スレーブ レプリケーションの原則 MySQL のマスター/スレーブ レプリケーションとは、

MySQL マスター/スレーブ レプリケーションにおけるクラスター テクノロジーの可能性を明らかにする: オープンソース ソリューションと商用ソリューションの比較評価 MySQL マスター/スレーブ レプリケーションにおけるクラスター テクノロジーの可能性を明らかにする: オープンソース ソリューションと商用ソリューションの比較評価 Sep 08, 2023 pm 07:16 PM

MySQL マスター/スレーブ レプリケーションのクラスター テクノロジーの可能性の活用: オープン ソース ソリューションと商用ソリューションの比較評価 インターネット ビジネスの継続的な発展とデータ量の増加に伴い、データベース クラスター ソリューションに対する需要がますます高まっています。 MySQL のマスター/スレーブ レプリケーション テクノロジは、まさにこの要求に応え、データベースの読み取りおよび書き込み操作を複数のノードで個別に処理できるため、データベースの読み取りパフォーマンスと可用性が向上します。この記事では、MySQL マスター/スレーブ レプリケーションにおけるクラスター テクノロジーの可能性を探り、オープン ソース ソリューションと商用ソリューションの比較評価を実施します。

See all articles