How to re-sync the Mysql DB if Master and slave have different database incase of Mysql replication?

前端 未结 14 989
小蘑菇
小蘑菇 2020-11-29 14:20

Mysql Server1 is running as MASTER.
Mysql Server2 is running as SLAVE.

Now DB replication is happeni

14条回答
  •  被撕碎了的回忆
    2020-11-29 15:02

    Adding to the popular answer to include this error:

    "ERROR 1200 (HY000): The server is not configured as slave; fix in config file or with CHANGE MASTER TO",
    

    Replication from slave in one shot:

    In one terminal window:

    mysql -h  -uroot -p
    

    After connecting,

    RESET MASTER;
    FLUSH TABLES WITH READ LOCK;
    SHOW MASTER STATUS;
    

    The status appears as below: Note that position number varies!

    +------------------+----------+--------------+------------------+
    | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
    +------------------+----------+--------------+------------------+
    | mysql-bin.000001 |      98  | your_DB      |                  |
    +------------------+----------+--------------+------------------+
    

    Export the dump similar to how he described "using another terminal"!

    Exit and connect to your own DB(which is the slave):

    mysql -u root -p
    

    The type the below commands:

    STOP SLAVE;
    

    Import the Dump as mentioned (in another terminal, of course!) and type the below commands:

    RESET SLAVE;
    CHANGE MASTER TO 
      MASTER_HOST = 'Master_IP_Address', 
      MASTER_USER = 'your_Master_user', // usually the "root" user
      MASTER_PASSWORD = 'Your_MasterDB_Password', 
      MASTER_PORT = 3306, 
      MASTER_LOG_FILE = 'mysql-bin.000001', 
      MASTER_LOG_POS = 98; // In this case
    

    Once logged, set the server_id parameter (usually, for new / non-replicated DBs, this is not set by default),

    set global server_id=4000;
    

    Now, start the slave.

    START SLAVE;
    SHOW SLAVE STATUS\G;
    

    The output should be the same as he described.

      Slave_IO_Running: Yes
      Slave_SQL_Running: Yes
    

    Note: Once replicated, the master and slave share the same password!

提交回复
热议问题