Home > Database > Mysql Tutorial > body text

How to implement MySQL synchronized data Replication

王林
Release: 2023-05-26 15:22:26
forward
1376 people have browsed it

MySQL's Replication function can synchronize data from one database to multiple other databases. The first one is generally called the master database (master), and the second one is called the slave database (slave). The MySQL replication process uses an asynchronous method, but the delay is very small and synchronized in seconds.

1. Basic principles of synchronous data replication

1. Data changes that occur on the main library are recorded to the binary log Binlog
2. The IO thread of the slave library copies the Binlog of the main library To your own relay log Relay log
3. The SQL thread of the slave library realizes data replication by reading and replaying the relay log

How to implement MySQL synchronized data Replication

There are three types of MySQL replication Mode: Statement Level, Row Level, Mixed Level. Different replication levels cause the master server to generate different forms of binary log files.

2. Synchronization data example

Operating system: centos7
Database: mysql8
Host (master): 192.168.0.101
Slave: 192.168.0.102

1. Modify the master-slave mysql configuration file

Host configuration my.cnf

[mysqld] 
# 服务器标识,每个服务器不能一样
server_id=101
# 开启日志文件
log_bin=binlog 
# 普通用户只能读 OFF是关闭状态
read_only=off 
# 超级用户只能读 OFF是关闭状态
super_read_only=off
Copy after login

Slave configuration

[mysqld]
# 服务器标识
server_id=102
# 启用binlog日志,并指定文件名前缀
log_bin=binlog
# 普通用户只能读 on是开启状态 
read_only=on 
# 超级用户只能读 on是开启状态 
super_read_only=on
Copy after login

Restart service

systemctl restart mysqld
Copy after login

2. The host establishes a synchronization account and checks the main database status information.

Log in to the database and create an account.

create user repl identified with mysql_native_password by 'repl123';
grant replication slave on *.* to repl;
flush privileges;
Copy after login

Check the main database master status and obtain the log file name and offset information.

How to implement MySQL synchronized data Replication

3. Slave synchronization configuration

Copy the binary log operation of the host (part of the data is checked by checking the main database master status)
The synchronization account of the host: source_user
Password: source_password
Port: source_port
Log file: source_log_file
Offset: source_log_pos

change replication source to source_host='192.168.0.101', source_user='repl', source_password='repl123', source_port=3306,source_log_file='binlog.000001', source_log_pos=154;
Copy after login

Slave startup synchronization

start replica;
Copy after login

4. View synchronization configuration Effect

On the host, check whether there is a connection from the slave

show processlist;
Copy after login

Check the status of the slave's synchronous replication

show slave status\G
Copy after login

On the host, insert data into a table, Check the data in the corresponding table of the slave machine. The test results are very good (omitted)

The above is the detailed content of How to implement MySQL synchronized data Replication. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:yisu.com
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!