Mysql: Как синхронизировать базы данных после автономного использования репликации? - PullRequest
4 голосов
/ 31 октября 2011

Я создал репликацию между двумя компьютерами (ноутбук, который я использую для добавления новых данных в мою базу данных, и сервер, который сохраняет все, что я делаю на ноутбуке), и он отлично работает.Но сегодня мой ноутбук был в сети, поэтому я не смог обновить свой сервер.Результат: я обновил несколько строк и создал много строк, и когда мой ноутбук снова подключился к сети, репликация не работала с данными, с которыми я работал в автономном режиме.

Может кто-нибудь дать мне совет обновить данные (на сервере), которые были изменены на ноутбуке, пока я не был подключен?Я не понимаю, почему это не работает!

Спасибо!

обновление: вот мой статус шоу-раба:

    mysql> show slave status;
+----------------------------------+-------------+-------------+-------------+--
-------------+------------------+---------------------+-------------------------
---+---------------+-----------------------+------------------+-----------------
--+-----------------+---------------------+--------------------+----------------
--------+-------------------------+-----------------------------+------------+--
----------+--------------+---------------------+-----------------+--------------
---+----------------+---------------+--------------------+--------------------+-
-------------------+-----------------+-------------------+----------------+-----
------------------+-------------------------------+---------------+-------------
--+----------------+----------------+-----------------------------+-------------
-----+
| Slave_IO_State                   | Master_Host | Master_User | Master_Port | C
onnect_Retry | Master_Log_File  | Read_Master_Log_Pos | Relay_Log_File
   | Relay_Log_Pos | Relay_Master_Log_File | Slave_IO_Running | Slave_SQL_Runnin
g | Replicate_Do_DB | Replicate_Ignore_DB | Replicate_Do_Table | Replicate_Ignor
e_Table | Replicate_Wild_Do_Table | Replicate_Wild_Ignore_Table | Last_Errno | L
ast_Error | Skip_Counter | Exec_Master_Log_Pos | Relay_Log_Space | Until_Conditi
on | Until_Log_File | Until_Log_Pos | Master_SSL_Allowed | Master_SSL_CA_File |
Master_SSL_CA_Path | Master_SSL_Cert | Master_SSL_Cipher | Master_SSL_Key | Seco
nds_Behind_Master | Master_SSL_Verify_Server_Cert | Last_IO_Errno | Last_IO_Erro
r | Last_SQL_Errno | Last_SQL_Error | Replicate_Ignore_Server_Ids | Master_Serve
r_Id |
+----------------------------------+-------------+-------------+-------------+--
-------------+------------------+---------------------+-------------------------
---+---------------+-----------------------+------------------+-----------------
--+-----------------+---------------------+--------------------+----------------
--------+-------------------------+-----------------------------+------------+--
----------+--------------+---------------------+-----------------+--------------
---+----------------+---------------+--------------------+--------------------+-
-------------------+-----------------+-------------------+----------------+-----
------------------+-------------------------------+---------------+-------------
--+----------------+----------------+-----------------------------+-------------
-----+
| Waiting for master to send event | ***.***.***.*** | masterRepli |        3306 |
          60 | mysql-bin.000027 |              454717 | aofr19072-relay-bin.0000
02 |          1227 | mysql-bin.000027      | Yes              | Yes
  |                 |                     |                    |
        |                         |                             |          0 |
          |            0 |              454717 |            1387 | None
   |                |             0 | No                 |                    |
                   |                 |                   |                |
                0 | No                            |             0 |
  |              0 |                |                             |
   2 |
+----------------------------------+-------------+-------------+-------------+--
-------------+------------------+---------------------+-------------------------
---+---------------+-----------------------+------------------+-----------------
--+-----------------+---------------------+--------------------+----------------
--------+-------------------------+-----------------------------+------------+--
----------+--------------+---------------------+-----------------+--------------
---+----------------+---------------+--------------------+--------------------+-
-------------------+-----------------+-------------------+----------------+-----
------------------+-------------------------------+---------------+-------------
--+----------------+----------------+-----------------------------+-------------
-----+
1 row in set (0.00 sec)

Ответы [ 2 ]

6 голосов
/ 31 октября 2011

СИНХРОНИЗАЦИЯ СИСТЕМЫ BRUTE

Я написал подробное описание того, как повторно синхронизировать подчиненное устройство с его ведущим в настройке циклической репликации.

СИНХРОНИЗАЦИЯ ТОЧНОЙ СИСТЕМЫ

Если вы просто хотите найти различия и обновить только различия, вы должны использовать mk-table-checkum и mk-table-sync .

Попробуйте!

2 голосов
/ 31 октября 2011

Возможно ли, что на подчиненном сервере просто не запущен подчиненный процесс?

Чтобы узнать, запущен ли подчиненный процесс, введите SHOW SLAVE STATUS; в командной строке MySQL на ведомом устройстве.

Затем попробуйте начать с START SLAVE;

Если он все еще не работает, опубликуйте вывод команды SHOW SLAVE STATUS;, и мы постараемся вам помочь:)

...