Home Database Mysql Tutorial mysql的主从复制与半同步复制(一)

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

Jun 07, 2016 pm 05:38 PM
mysql master-slave replication semisynchronous replication

一、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、启动从服务器复制线程、查看状态,并查看启动的线程;

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Data backup and failure recovery: Discussion on the importance of MySQL master-slave replication in cluster mode Data backup and failure recovery: Discussion on the importance of MySQL master-slave replication in cluster mode Sep 08, 2023 am 09:03 AM

Data backup and failure recovery: Discussion on the importance of MySQL master-slave replication in cluster mode Introduction: In recent years, with the continuous growth of data scale and complexity, database backup and failure recovery have become particularly important. In distributed systems, MySQL master-slave replication is widely used in cluster mode to provide high availability and fault tolerance. This article will explore the importance of MySQL master-slave replication in cluster mode and give some code examples. 1. Basic principles and advantages of MySQL master-slave replication MySQL master-slave replication is a general

How to improve MySQL performance by using semi-synchronous replication How to improve MySQL performance by using semi-synchronous replication May 11, 2023 am 10:21 AM

With the continuous development of the Internet, the explosive growth of data volume has made databases become the core components of many websites, applications and systems. As an open source relational database management system, MySQL has become the preferred database widely used in the industry due to its advantages in stability, reliability and cost-effectiveness. However, in actual production environments, as the amount of data increases, MySQL's performance problems are gradually exposed. Especially in large enterprise applications, there are requirements such as reading and writing massive data, high concurrent requests, and data reliability.

Cope with high concurrency with ease: Analysis of the performance advantages of MySQL master-slave replication as a cluster technology Cope with high concurrency with ease: Analysis of the performance advantages of MySQL master-slave replication as a cluster technology Sep 10, 2023 pm 03:48 PM

Cope with high concurrency with ease: Analysis of the performance advantages of MySQL master-slave replication as a cluster technology. With the rapid development of the Internet, user visits to websites and applications have shown an explosive growth trend. In this high-concurrency situation, how to ensure system stability and performance has become an important task for every developer and system administrator. In databases, MySQL master-slave replication technology is widely used and has become one of the effective solutions to deal with high concurrency. This article will explore the performance advantages of MySQL master-slave replication as a cluster technology. first

Decrypting MySQL master-slave replication: revealing its key implementation mechanism in cluster mode Decrypting MySQL master-slave replication: revealing its key implementation mechanism in cluster mode Sep 10, 2023 am 09:28 AM

Decrypting MySQL master-slave replication: Revealing its key implementation mechanism in cluster mode Introduction: In modern database systems, high availability and flexibility of data are very important. As an open source relational database management system, MySQL has a wide range of applications in meeting user needs. MySQL's master-slave replication is a very critical part of the MySQL database architecture and is used to achieve data backup and high availability. This article will focus on revealing the key implementation mechanism of MySQL master-slave replication, especially in cluster mode.

Optimizing database performance: The best way to use MySQL master-slave replication in cluster technology Optimizing database performance: The best way to use MySQL master-slave replication in cluster technology Sep 10, 2023 am 08:24 AM

Optimizing database performance: The best way to use MySQL master-slave replication in cluster technology Abstract: With the rapid development of the Internet, database performance issues have become the focus of various enterprises and organizations. MySQL master-slave replication technology plays an important role in solving database performance bottlenecks. This article will introduce the concepts and principles of MySQL master-slave replication, as well as the best use methods in cluster technology, to help readers optimize database performance. 1. Introduction As the amount of data continues to increase, database performance problems have become increasingly prominent. How to optimize numbers

Is MySQL master-slave replication a cluster technology or a load balancing technology? Analysis and difference Is MySQL master-slave replication a cluster technology or a load balancing technology? Analysis and difference Sep 10, 2023 am 08:40 AM

Is MySQL master-slave replication a cluster technology or a load balancing technology? Summary of analysis and differences: MySQL master-slave replication is a database replication technology used to synchronize database data on multiple servers. This article will analyze and distinguish the differences between MySQL master-slave replication, cluster technology and load balancing technology in terms of technical principles, application scenarios and functional characteristics. Introduction: In modern Internet applications, high availability and scalability of databases are crucial. MySQL master-slave replication is one of the common solutions, however,

Detailed explanation of the functions and advantages of MySQL master-slave replication in cluster technology Detailed explanation of the functions and advantages of MySQL master-slave replication in cluster technology Sep 09, 2023 am 09:03 AM

Detailed explanation of the functions and advantages of MySQL master-slave replication in cluster technology Introduction MySQL is a powerful relational database management system that is widely used in various large-scale websites and applications. As the amount of data increases and access requests increase, the pressure on a single MySQL server gradually increases. In order to improve the performance and reliability of the database, people begin to adopt cluster technology, among which MySQL master-slave replication is one of the commonly used technologies. means. MySQL master-slave replication principle MySQL master-slave replication refers to the

Uncovering the potential of cluster technology in MySQL master-slave replication: Comparative evaluation of open source solutions and commercial solutions Uncovering the potential of cluster technology in MySQL master-slave replication: Comparative evaluation of open source solutions and commercial solutions Sep 08, 2023 pm 07:16 PM

Tapping into the cluster technology potential of MySQL master-slave replication: Comparative evaluation of open source solutions and commercial solutions. With the continuous development of Internet business and the increasing amount of data, the demand for database cluster solutions has become increasingly strong. MySQL master-slave replication technology just meets this demand. It can process the read and write operations of the database separately on multiple nodes, improving the read performance and availability of the database. This article will explore the potential of cluster technology in MySQL master-slave replication, and conduct a comparative evaluation of open source solutions and commercial solutions.

See all articles