Detailed explanation of MySQL master-slave replication read-write separation construction

Detailed explanation of MySQL master-slave replication read-write separation construction

MySQL master-slave setup

MySQL master-slave replication and read-write separation settings are very simple:

Modify the configuration my.cnf file

The master and slave settings are similar:

[mysqld]
log-bin=mysql-bin 
server-id=222

log-bin=mysql-bin means: enable binary log.

server-id=222 means setting the unique ID of the server. The default value is 1, which is usually the last segment of the IP address. You can write it to something else as long as it is not repeated with other MySQL servers.

Here, some MySQL default my.cnf files reference all cnf files in the /etc/mysql/conf.d path. Therefore, you can also add a cnf file in the /etc/mysql/conf.d directory and add the above content

Restart mysql on the master and slave machines respectively

/etc/init.d/mysql restart

Create an account on the master and authorize the slave, and also make relevant configurations on the slave

Log in to the master and slave machines respectively as root user:

mysql -uroot -p //After entering, you will be asked to enter the root password. Entering the root password will log you in.

On the master machine

Create an account and authorize the slave machine. Pay attention to the username and password. You can set them at will, but be sure to write them down because the slave will need them later.

GRANT REPLICATION SLAVE ON *.* to 'ryugou'@'%' identified by 'ryugou';

Generally, the root account is not used. @'%' means that all clients can connect as long as the account and password are correct. The specific client IP address, such as 192.168.145.226, can be used here to enhance security.

On the slave machine

Check the master status

show master status;

Enter in the mysql terminal

Copy the code as follows:

change master to master_host='xxx.xxx.xxx.xxx',master_user='ryugou',master_password='ryugou',master_log_file='mysql-bin.000004',master_log_pos=120;

master_log_file is the corresponding content on the master machine, and so is master_log_pos. Pay attention to the content on the master status.

master_user and master_password are the username and password set during authorization on the master machine.

Start the slave server

start slave;

Check the status of the slave replication function

show slave status\G;

A list will appear

Mainly check that the status of Slave_IO_Running and Slave_SQL_Running must both be Yes.

The master creates the database and sets user access rights from the server

Create a database test on the master, and you will find that test is also created on the slave. Now you want to separate read and write. A user named gou on the slave machine can access it, but can only read.

grant select on test.* to gou;

The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM.

You may also be interested in:
  • Mysql database master-slave separation example code
  • MySQL master-slave synchronization, read-write separation configuration steps
  • Detailed explanation of MySQL master-slave replication, read-write separation, backup and recovery
  • Detailed explanation of the configuration method of MySQL master-slave replication read-write separation
  • Steps to configure MySQL master-slave separation under Linux system

<<:  Docker uses busybox to create a base image

>>:  Sample code for implementing login and registration template in Vue

Recommend

What are the advantages of MySQL MGR?

MGR (MySQL Group Replication) is a new feature ad...

mysql backup script and keep it for 7 days

Script requirements: Back up the MySQL database e...

HTML Code Writing Guide

Common Convention Tags Self-closing tags, no need...

Detailed explanation of SELINUX working principle

1. Introduction The main value that SELinux bring...

Vue project realizes paging effect

The paging effect is implemented in the vue proje...

A brief discussion on three methods of asynchronous replication in MySQL 8.0

In this experiment, we configure MySQL standard a...

Vue uses monaco to achieve code highlighting

Using the Vue language and element components, we...

How to explain TypeScript generics in a simple way

Table of contents Overview What are Generics Buil...

Vue uses WebSocket to simulate the chat function

The effect shows that two browsers simulate each ...

HTML form tag tutorial (3): input tag

HTML form tag tutorial, this section mainly expla...

Should the Like function use MySQL or Redis?

Table of contents 1. Common mistakes made by begi...