首页 数据库 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 Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

数据备份与故障恢复:MySQL主从复制在集群模式下的重要性探讨 数据备份与故障恢复:MySQL主从复制在集群模式下的重要性探讨 Sep 08, 2023 am 09:03 AM

数据备份与故障恢复:MySQL主从复制在集群模式下的重要性探讨引言:近年来,随着数据规模和复杂性的不断增长,数据库的备份和故障恢复变得尤为重要。在分布式系统中,MySQL主从复制在集群模式下被广泛应用,以提供高可用性和容错性。本文将探讨MySQL主从复制在集群模式下的重要性,并给出一些代码示例。一、MySQL主从复制的基本原理及优势MySQL主从复制是一种通

从容应对高并发:MySQL主从复制作为集群技术的性能优势分析 从容应对高并发:MySQL主从复制作为集群技术的性能优势分析 Sep 10, 2023 pm 03:48 PM

从容应对高并发:MySQL主从复制作为集群技术的性能优势分析随着互联网的快速发展,用户对于网站和应用的访问量呈现出爆炸性增长的趋势。在这种高并发的情况下,如何保证系统的稳定性和性能成为了每个开发人员和系统管理员的重要任务。在数据库中,MySQL主从复制技术被广泛应用,成为了应对高并发的有效解决方案之一。本文将探讨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主从复制的概念及原理,以及在集群技术中的最佳使用方法,帮助读者优化数据库性能。一、引言随着数据量不断增加,数据库的性能问题日益突出。如何优化数

如何通过使用半同步复制来提高MySQL的性能 如何通过使用半同步复制来提高MySQL的性能 May 11, 2023 am 10:21 AM

随着互联网的不断发展,数据量的爆炸式增长使得数据库成为众多网站、应用和系统的核心组件。而MySQL作为一种开源的关系型数据库管理系统,其稳定性、可靠性及性价比等方面的优势使得它成为了业内广泛使用的首选数据库。然而在实际生产环境中,随着数据量的增长,MySQL的性能问题也逐渐暴露出来。尤其是在大型企业应用中,海量数据的读写、高并发的请求、以及数据的可靠性等要求

MySQL主从复制属于集群技术还是负载均衡技术?解析和区别 MySQL主从复制属于集群技术还是负载均衡技术?解析和区别 Sep 10, 2023 am 08:40 AM

MySQL主从复制属于集群技术还是负载均衡技术?解析和区别摘要:MySQL主从复制是一种数据库复制技术,用于在多个服务器上同步数据库的数据。本文将从技术原理、应用场景和功能特点等方面来解析和区分MySQL主从复制与集群技术以及负载均衡技术的区别。引言:在现代互联网应用中,数据库的高可用性和扩展性是至关重要的。MySQL主从复制是一种常见的解决方案之一,但是,

详解MySQL主从复制在集群技术中发挥的功能和优势 详解MySQL主从复制在集群技术中发挥的功能和优势 Sep 09, 2023 am 09:03 AM

详解MySQL主从复制在集群技术中发挥的功能和优势引言MySQL是一款功能强大的关系型数据库管理系统,广泛应用于各种大型网站和应用程序中。随着数据量的增大和访问请求的增加,单台MySQL服务器的压力也逐渐增大,为了提高数据库的性能和可靠性,人们开始采用集群技术,其中MySQL主从复制就是其中一种常用的技术手段。MySQL主从复制原理MySQL主从复制是指将一

理解MySQL主从复制的集群特性和非负载均衡应用场景 理解MySQL主从复制的集群特性和非负载均衡应用场景 Sep 11, 2023 am 11:04 AM

随着互联网的快速发展,应用系统的数据量越来越大,对数据库的性能和可靠性要求也越来越高。MySQL作为最常用的开源关系型数据库之一,具有较高的性能和稳定性,被广泛应用在各种企业级应用中。而MySQL主从复制作为一种常用的数据复制方案,能够提高数据的可靠性和读写性能,被广泛应用在大规模数据应用中。MySQL主从复制的集群特性指的是通过复制机制将主数据库的数据同步

See all articles