Mysql 5.7 docker master-slave replication architecture tutorial_MySQL
Share mysql 5.7 docker master-slave replication architecture tutorial for your reference, the specific content is as follows
Environment version:
MySQL: 5.7.13
Docker: 1.11.2
CentOS: 7.1
1. First install two MySQLs on two physical machines. The commands are as follows
The code is as follows:
docker pull mysql:5.7.13
docker run --name anuo-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=qaz.00JK -d mysql:5.7.13
2. Create a copy account on the main library
The code is as follows:
GRANT REPLICATION SLAVE ON *.* TO 'rep1'@'192.168.2.103' IDENTIFIED BY 'qaz.00JK';
The copied account is: rep1
The IP of the specified slave library must be: 192.168.2.103
Copy password: qaz.00JK
3. Modify the configuration file of the main library (Troublesome, there should be a more convenient way to modify it)
3.1 First copy the configuration file from docker to the host/root directory:
docker cp anuo-mysql:/etc/mysql/my.cnf /root
3.2 Open my.cnf on the host and add
at the end of the [mysqld] nodelog-bin=mysql-bin
server-id=1
3.3 Then upload this file to docker mysql and overwrite it
docker cp /root/my.cnf anuo-mysql:/etc/mysql/my.cnf
3.4 Restart the docker of mysql to make the configuration take effect
docker restart anuo-mysql
4. Modify the configuration file of the slave library
Same as step 3, the only difference is
server-id=2
5. Start the backup, Execute the following command in the main database to put all tables in the main database into a read-only and non-writable state, so as to achieve data consistency between the master and slave databases
FLUSH TABLES WITH READ LOCK;
6. Back up the database of the main database and restore it from the slave database
It is very convenient to use navicat for mysql
7. After restoring from the slave library, release the read lock of the main library, so that the write permission of the main library is restored
unlock tables;
8. Configure the slave library to connect to the main library and execute it on the slave library
CHANGE MASTER TO MASTER_HOST='192.168.2.108', MASTER_PORT=3306, MASTER_USER='rep1', MASTER_PASSWORD='qaz.00JK', MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=898;
The last two items
MASTER_LOG_FILE and MASTER_LOG_POS
Execute: SHOW MASTER STATUS; command in the main library to obtain
The corresponding fields are File and Position
9. Start the slave thread in the slave library to start synchronization
START SLAVE;
10. Check the synchronization status in the slave library
show slave status;
If you see the Slave_Io_State field:
Waiting for master to send event...
Then it was a success!!! !
The above is the entire content of this article. I hope it will be helpful to everyone’s study and I hope you will support me a lot.

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



How to use Docker Desktop? Docker Desktop is a tool for running Docker containers on local machines. The steps to use include: 1. Install Docker Desktop; 2. Start Docker Desktop; 3. Create Docker image (using Dockerfile); 4. Build Docker image (using docker build); 5. Run Docker container (using docker run).

To get the Docker version, you can perform the following steps: Run the Docker command "docker --version" to view the client and server versions. For Mac or Windows, you can also view version information through the Version tab of the Docker Desktop GUI or the About Docker Desktop menu.

Steps to create a Docker image: Write a Dockerfile that contains the build instructions. Build the image in the terminal, using the docker build command. Tag the image and assign names and tags using the docker tag command.

You can query the Docker container name by following the steps: List all containers (docker ps). Filter the container list (using the grep command). Gets the container name (located in the "NAMES" column).

The steps to update a Docker image are as follows: Pull the latest image tag New image Delete the old image for a specific tag (optional) Restart the container (if needed)

Methods for copying files to external hosts in Docker: Use the docker cp command: Execute docker cp [Options] <Container Path> <Host Path>. Using data volumes: Create a directory on the host, and use the -v parameter to mount the directory into the container when creating the container to achieve bidirectional file synchronization.

You can switch to the domestic mirror source. The steps are as follows: 1. Edit the configuration file /etc/docker/daemon.json and add the mirror source address; 2. After saving and exiting, restart the Docker service sudo systemctl restart docker to improve the image download speed and stability.

To save the image in Docker, you can use the docker commit command to create a new image, containing the current state of the specified container, syntax: docker commit [Options] Container ID Image name. To save the image to the repository, you can use the docker push command, syntax: docker push image name [: tag]. To import saved images, you can use the docker pull command, syntax: docker pull image name [: tag].
