|
|
|
Репликация баз
|
|||
|---|---|---|---|
|
#18+
Добрый день! Подскажите как можно (и можно ли) на MySQL сделать следующее: Есть два сервера MySQL1 и MySQl2 на каждом установлена MySQL с InnoDB. На обоих базах настроено партицирование таблиц. Данные пишутся в MySQL1, а в MySQL2 они реплицируются. Необходимо сделать так чтоб на первой базе MySQL1 данные хранились только две недели (далее они удаляются путем удаления старых партиций (drop partition)), а на второй MySQL2 данные хранились пол года. Если мы настроем репликацию данных с MySQL1 на MySQL2, на сколько я понимаю при удалении партиций на MySQL1 они так же будут удаляться на MySQL2 (или я не правильно понимаю). Можно ли это как то избежать и поможет ли в этом репликация или может использовать какой нибудь другой механизм... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2014, 10:18:13 |
|
||
|
Репликация баз
|
|||
|---|---|---|---|
|
#18+
Sceers, можно попытаться чистить основную базу с помощью временного выключения SQL_LOG_BIN в конкретной сессии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2014, 14:07:57 |
|
||
|
Репликация баз
|
|||
|---|---|---|---|
|
#18+
netwindSceers, можно попытаться чистить основную базу с помощью временного выключения SQL_LOG_BIN в конкретной сессии. хм. сложно как то. неужели нет более простого способа ?. может не репликацией а еще каким способом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2014, 20:08:55 |
|
||
|
Репликация баз
|
|||
|---|---|---|---|
|
#18+
Sceers, волшебством? нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2014, 21:12:20 |
|
||
|
Репликация баз
|
|||
|---|---|---|---|
|
#18+
netwindSceers, волшебством? нет. :) попробую реализовать ваш вариант. Все равно других пока нету. Спасибо за подсказку. Но как это сделать если в базу каждую секунду пишутся данные... соответственно при выключении log_bin очень вероятна потеря данных. то есть они не будут реплицированны на slave. Или я чего то не понимаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2014, 21:24:12 |
|
||
|
Репликация баз
|
|||
|---|---|---|---|
|
#18+
Sceers, это сессионная переменная. отдельная программа должна подключиться, удалить все что нужно и отключиться. на другие подключения не подействует. Серьезные проблемы могут возникнуть из-за другого : если запросы приложения предполагают наличие всех данных и где-нибудь закрался запрос типа update table1 set count= (select count(*) from table2); очевидно результат будет разный в разных базах, что приведет к логическому рассогласованию и ошибкам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2014, 01:21:15 |
|
||
|
Репликация баз
|
|||
|---|---|---|---|
|
#18+
netwindSceers, это сессионная переменная. отдельная программа должна подключиться, удалить все что нужно и отключиться. на другие подключения не подействует. Серьезные проблемы могут возникнуть из-за другого : если запросы приложения предполагают наличие всех данных и где-нибудь закрался запрос типа update table1 set count= (select count(*) from table2); очевидно результат будет разный в разных базах, что приведет к логическому рассогласованию и ошибкам. Теперь понятно. Тогда этот вариант вполне даже рабочий в моей ситуации. Спасибо за помощь . Насчет запроса по количеству данных. таких проблем у нас не должно быть вроде бы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2014, 14:43:33 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38753939&tid=1834196]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 193ms |
| total: | 346ms |

| 0 / 0 |
