Home Database Mysql Tutorial 为mysql快速添加从库,并为从库添加从库

为mysql快速添加从库,并为从库添加从库

Jun 07, 2016 pm 02:55 PM
mysql fast case Compare Add to Reality

现实情况下,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掉

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

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

Copy after login


然后将从库B的数据文件打包,分别拷贝到新的从库CC的从库D下(sock和pid文件不要打包)

1

2

3

4

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/

Copy after login


解压分别放在CD的数据目录(删除主从信息文件)

1

2

3

cd /home

tar zxf mysqldata3326.tar.gz

mv /home/mysqldata3326/datadir/master.info /home/mysqldata3326/datadir/master.info.bak

Copy after login


修改CD的配置文件的server-idC11 , D21,(我这里有端口的区别,这个根据现实情况)

1

vim /home/mysqldata3326/my.cnf

Copy after login


分别启动CD

1

/usr/local/mysql/bin/mysqld_safe --defaults-file=/home/mysqldata3326/my.cnf --user=mysql &

Copy after login


配置CD的主从(一定要先配置好C和D的主从)

C:查看C的master信息

1

2

3

4

5

6

mysql> show master status;

+------------------+----------+--------------+---------------------------------------------+

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB                            |

+------------------+----------+--------------+---------------------------------------------+

| mysql-bin.000092 |  1953402 |              | mysql,test,information_schema,sphinx_search |

+------------------+----------+--------------+---------------------------------------------+

Copy after login

D:配置D的主从信息

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

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

Copy after login


修改C的主库同步信息(这里的主从信息要和stop B从库的信息一致)

1

2

3

4

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;

Copy after login


最后启动B的主从!完成


验证:

通过show slave status\G;查看主从信息,SQL和IO线程是否为yes

最简单的验证就是在A里随便创建个库,然后show一下D里是否同步了。

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 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
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)

The relationship between mysql user and database The relationship between mysql user and database Apr 08, 2025 pm 07:15 PM

In MySQL database, the relationship between the user and the database is defined by permissions and tables. The user has a username and password to access the database. Permissions are granted through the GRANT command, while the table is created by the CREATE TABLE command. To establish a relationship between a user and a database, you need to create a database, create a user, and then grant permissions.

MySQL: The Ease of Data Management for Beginners MySQL: The Ease of Data Management for Beginners Apr 09, 2025 am 12:07 AM

MySQL is suitable for beginners because it is simple to install, powerful and easy to manage data. 1. Simple installation and configuration, suitable for a variety of operating systems. 2. Support basic operations such as creating databases and tables, inserting, querying, updating and deleting data. 3. Provide advanced functions such as JOIN operations and subqueries. 4. Performance can be improved through indexing, query optimization and table partitioning. 5. Support backup, recovery and security measures to ensure data security and consistency.

How to fill in mysql username and password How to fill in mysql username and password Apr 08, 2025 pm 07:09 PM

To fill in the MySQL username and password: 1. Determine the username and password; 2. Connect to the database; 3. Use the username and password to execute queries and commands.

Query optimization in MySQL is essential for improving database performance, especially when dealing with large data sets Query optimization in MySQL is essential for improving database performance, especially when dealing with large data sets Apr 08, 2025 pm 07:12 PM

1. Use the correct index to speed up data retrieval by reducing the amount of data scanned select*frommployeeswherelast_name='smith'; if you look up a column of a table multiple times, create an index for that column. If you or your app needs data from multiple columns according to the criteria, create a composite index 2. Avoid select * only those required columns, if you select all unwanted columns, this will only consume more server memory and cause the server to slow down at high load or frequency times For example, your table contains columns such as created_at and updated_at and timestamps, and then avoid selecting * because they do not require inefficient query se

Can I retrieve the database password in Navicat? Can I retrieve the database password in Navicat? Apr 08, 2025 pm 09:51 PM

Navicat itself does not store the database password, and can only retrieve the encrypted password. Solution: 1. Check the password manager; 2. Check Navicat's "Remember Password" function; 3. Reset the database password; 4. Contact the database administrator.

How to view mysql How to view mysql Apr 08, 2025 pm 07:21 PM

View the MySQL database with the following command: Connect to the server: mysql -u Username -p Password Run SHOW DATABASES; Command to get all existing databases Select database: USE database name; View table: SHOW TABLES; View table structure: DESCRIBE table name; View data: SELECT * FROM table name;

How to create navicat premium How to create navicat premium Apr 09, 2025 am 07:09 AM

Create a database using Navicat Premium: Connect to the database server and enter the connection parameters. Right-click on the server and select Create Database. Enter the name of the new database and the specified character set and collation. Connect to the new database and create the table in the Object Browser. Right-click on the table and select Insert Data to insert the data.

How to copy tables in mysql How to copy tables in mysql Apr 08, 2025 pm 07:24 PM

Copying a table in MySQL requires creating new tables, inserting data, setting foreign keys, copying indexes, triggers, stored procedures, and functions. The specific steps include: creating a new table with the same structure. Insert data from the original table into a new table. Set the same foreign key constraint (if the original table has one). Create the same index. Create the same trigger (if the original table has one). Create the same stored procedure or function (if the original table is used).

See all articles