为mysql快速添加从库,并为从库添加从库
现实情况下,mysql比较常见的是一主多从,而在主库出现问题是,需要将其从库升为主库,但事实上这种操作非常繁琐,基本上要对所有的从库进行操作。 既然如此,不妨将mysql做成ABC的结构,A为主库,B为A的从库,C是B的从库 这种情况,在A出现问题是,可以直接
现实情况下,mysql比较常见的是一主多从,而在主库出现问题是,需要将其从库升为主库,但事实上这种操作非常繁琐,基本上要对所有的从库进行操作。
既然如此,不妨将mysql做成ABC的结构,A为主库,B为A的从库,C是B的从库
这种情况,在A出现问题是,可以直接将B升为主库,其余下级从库将不需要任何操作。
这里记录一次此类操作,我这里的情况是,已经存在A和B,A是主,B是从
需求是,添加一个A的从库C,再添加一个C的从库D。
快速添加mysql从库(前提是都已经安装了相同版本的mysql)
首先将从库B的主从stop掉
mysql> stop slave; Query OK, 0 rows affected (0.06 sec) mysql> show slave status\G; *************************** 1. row *************************** Slave_IO_State: Master_Host: 10.10.1.171 Master_User: mysqlab Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000096 Read_Master_Log_Pos: 585421644 Relay_Log_File: mysql-relay-bin.000279 Relay_Log_Pos: 2043143 Relay_Master_Log_File: mysql-bin.000096 Slave_IO_Running: No Slave_SQL_Running: No
然后将从库B的数据文件打包,分别拷贝到新的从库C和C的从库D下(sock和pid文件不要打包)
sync tar -czf mysqldata3326.tar.gz mysqldata3326/ scp mysqldata3326.tar.gz 10.10.1.173:/home/ scp mysqldata3326.tar.gz 10.10.1.174:/home/
解压分别放在C和D的数据目录(删除主从信息文件)
cd /home tar zxf mysqldata3326.tar.gz mv /home/mysqldata3326/datadir/master.info /home/mysqldata3326/datadir/master.info.bak
修改C和D的配置文件的server-id,C为11 , D为21,(我这里有端口的区别,这个根据现实情况)
vim /home/mysqldata3326/my.cnf
分别启动C和D
/usr/local/mysql/bin/mysqld_safe --defaults-file=/home/mysqldata3326/my.cnf --user=mysql &
配置C和D的主从(一定要先配置好C和D的主从)
C:查看C的master信息
mysql> show master status; +------------------+----------+--------------+---------------------------------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+---------------------------------------------+ | mysql-bin.000092 | 1953402 | | mysql,test,information_schema,sphinx_search | +------------------+----------+--------------+---------------------------------------------+
D:配置D的主从信息
mysql> slave stop; mysql> reset slave; mysql> change master to master_host='10.10.1.173',master_user='mysqlab',master_password='xxxxx',master_log_file='mysql-bin.000092',master_log_pos=1953402; mysql> slave start; mysql> show slave status\G; *************************** 1. row *************************** Slave_IO_State: Master_Host: 10.10.1.173 Master_User: mysqlab Master_Port: 3326 Connect_Retry: 60 Master_Log_File: mysql-bin.000092 Read_Master_Log_Pos: 1953490 Relay_Log_File: mysql-relay-bin.000279 Relay_Log_Pos: 214513 Relay_Master_Log_File: mysql-bin.000092 Slave_IO_Running: Yes Slave_SQL_Running: Yes
修改C的主库同步信息(这里的主从信息要和stop B从库的信息一致)
mysql> slave stop; mysql> reset slave; mysql> change master to master_host='10.10.1.171',master_user='mysqlab',master_password='xxxxxx',master_log_file='mysql-bin.000096',master_log_pos=585421644; mysql> slave start;
最后启动B的主从!完成
验证:
通过show slave status\G;查看主从信息,SQL和IO线程是否为yes
最简单的验证就是在A里随便创建个库,然后show一下D里是否同步了。

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

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

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

The main role of MySQL in web applications is to store and manage data. 1.MySQL efficiently processes user information, product catalogs, transaction records and other data. 2. Through SQL query, developers can extract information from the database to generate dynamic content. 3.MySQL works based on the client-server model to ensure acceptable query speed.

The process of starting MySQL in Docker consists of the following steps: Pull the MySQL image to create and start the container, set the root user password, and map the port verification connection Create the database and the user grants all permissions to the database

Laravel is a PHP framework for easy building of web applications. It provides a range of powerful features including: Installation: Install the Laravel CLI globally with Composer and create applications in the project directory. Routing: Define the relationship between the URL and the handler in routes/web.php. View: Create a view in resources/views to render the application's interface. Database Integration: Provides out-of-the-box integration with databases such as MySQL and uses migration to create and modify tables. Model and Controller: The model represents the database entity and the controller processes HTTP requests.

I encountered a tricky problem when developing a small application: the need to quickly integrate a lightweight database operation library. After trying multiple libraries, I found that they either have too much functionality or are not very compatible. Eventually, I found minii/db, a simplified version based on Yii2 that solved my problem perfectly.

The key to installing MySQL elegantly is to add the official MySQL repository. The specific steps are as follows: Download the MySQL official GPG key to prevent phishing attacks. Add MySQL repository file: rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm Update yum repository cache: yum update installation MySQL: yum install mysql-server startup MySQL service: systemctl start mysqld set up booting

Installing MySQL on CentOS involves the following steps: Adding the appropriate MySQL yum source. Execute the yum install mysql-server command to install the MySQL server. Use the mysql_secure_installation command to make security settings, such as setting the root user password. Customize the MySQL configuration file as needed. Tune MySQL parameters and optimize databases for performance.

Article summary: This article provides detailed step-by-step instructions to guide readers on how to easily install the Laravel framework. Laravel is a powerful PHP framework that speeds up the development process of web applications. This tutorial covers the installation process from system requirements to configuring databases and setting up routing. By following these steps, readers can quickly and efficiently lay a solid foundation for their Laravel project.

Compared with other programming languages, MySQL is mainly used to store and manage data, while other languages such as Python, Java, and C are used for logical processing and application development. MySQL is known for its high performance, scalability and cross-platform support, suitable for data management needs, while other languages have advantages in their respective fields such as data analytics, enterprise applications, and system programming.
