Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Господа, будьте снисходительны, не бросайтесь сразу штрафовать за, как вам кажется, глупые вопросы - beginners на то и beginners.
 |  |
Основная проблема - mysqldump не умеет выбирать нужные столбцы 11.01.04 19:59 Число просмотров: 1496
Автор: tdes@work Статус: Незарегистрированный пользователь
|
Поэтому, видимо, буду создавать temporary table, делать ее дамп в ~/public_html/dump.sql, читать скриптом на 2'ом серваке http://server1.com/dump.sql, и запускать INSERT .... SELECT.
(это все поскольку у таблиц на двух серваках разная структура).
XML-решение мне кажется тяжелым и неоправданным
|
|
<beginners>
|
как лучше всего синхронизировать две mysql-базы ? 11.01.04 17:07
Автор: tdes@work Статус: Незарегистрированный пользователь
|
Есть две независимые (бегущие на разных серверах) ситемы, время от времени нужно синхронизировать их базы данных. Как ето сделать наилучшим образом ? Как вариант у меня пока :
mysqldump --xml db [tables] > ~/public_html/sync.xml
и потом парсить sync.xml, чего делать не хочется :))
Кроме того вопрос как сделать shell-скриптом save as [sync.xml] UTF-8 .
|
 |
А на это не смотрел? 13.01.04 23:11
Автор: Ktirf <Æ Rusakov> Статус: Elderman
|
Правда, я чего-то не понял - FreshMeat о нем говорит как о Freeware, а на сайте какой-то trial дают загружать...
Вроде как система репликации для MySQL
|
 |
man mysqlhotcopy 12.01.04 11:17
Автор: ZaDNiCa <indeed ZaDNiCa> Статус: Elderman
|
|
|
 |  |
этот скрипт не лучше mysqldump 12.01.04 13:39
Автор: tdes@work Статус: Незарегистрированный пользователь
|
|
|
 |  |  |
он позволяет корректно скопировать целую базу 12.01.04 15:01
Автор: ZaDNiCa <indeed ZaDNiCa> Статус: Elderman
|
|
заблокировав таблицы и гарантируя что в процессе копирования дынне изменяться не будут
|
 |  |  |  |
единственная проблема, что мне это не надо :)) 12.01.04 15:31
Автор: tdes@work Статус: Незарегистрированный пользователь
|
|
|
 |
Уточнение по второму вопросу 11.01.04 19:20
Автор: Ktirf <Æ Rusakov> Статус: Elderman
|
С первым вопросом, к сожалению, помочь пока не могу, но по моему, что-то такое я видел... Поиск на freshmeat.net, часом, не поможет?
> Кроме того вопрос как сделать shell-скриптом save as > [sync.xml] UTF-8 . А на вход подается что? Результат mysqldump? :)
|
 |  |
Основная проблема - mysqldump не умеет выбирать нужные столбцы 11.01.04 19:59
Автор: tdes@work Статус: Незарегистрированный пользователь
|
Поэтому, видимо, буду создавать temporary table, делать ее дамп в ~/public_html/dump.sql, читать скриптом на 2'ом серваке http://server1.com/dump.sql, и запускать INSERT .... SELECT.
(это все поскольку у таблиц на двух серваках разная структура).
XML-решение мне кажется тяжелым и неоправданным
|
 |  |  |
А просто скриптом или самописной прогой? 13.01.04 19:19
Автор: RomanK Статус: Незарегистрированный пользователь
|
У меня в скором времени возникнет такая проблема.
Думаю решить её скриптом на перле или прогой на си, в зависимости от того что проще, который откроет одновременно соединение к двум машинам/базам, из одной "SELECT ..." а в другую "INSERT..." в цикле. Что может быть проще?
|
 |  |  |  |
из соображений безопасности не может сушествовать ( в теории... 14.01.04 11:55
Автор: tdes@work Статус: Незарегистрированный пользователь
|
|
из соображений безопасности не может сушествовать ( в теории ;) ) скрипта одновременно имеющего доступ к обоим базам данных, поскольку ето два+ приложения b2b, каждое из которых бежит на собственном сервере
|
 |  |  |  |
"select все записи, отличающиеся от такой-то таблицы во-он той базы данных"? :) 13.01.04 23:05
Автор: Ktirf <Æ Rusakov> Статус: Elderman
|
> У меня в скором времени возникнет такая проблема. > Думаю решить её скриптом на перле или прогой на си, в > зависимости от того что проще, который откроет > одновременно соединение к двум машинам/базам, из одной > "SELECT ..." а в другую "INSERT..." в цикле. Что может быть > проще? Краткий ответ - это не работает. Это попросту не является синхронизацией. И уж лучше тогда через mysqldump делать, там по крайней мере формат жестко зафиксирован.
Правильная синхронизация включает в себя добавление в каждую реплику новых записей из другой, аналогично удаление старых записей, синхронизация измененных записей и, возможно, устранение возникших конфликтов (например, какая-то запись со времени последней синхронизации изменялась в обеих репликах). Короче говоря, делать синхронизацию в полном объеме - это не халява.
|
 |  |  |  |  |
re 14.01.04 11:51
Автор: tdes@work Статус: Незарегистрированный пользователь
|
>Короче говоря, делать
> синхронизацию в полном объеме - это не халява. это уж точно :))
все таки выбрал XML + XLST для совместимости всего со всем :)
|
 |  |  |
То есть тебе не нужно синхронизировать все столбцы, а только избранные? 11.01.04 21:21
Автор: Ktirf <Æ Rusakov> Статус: Elderman
|
> XML-решение мне кажется тяжелым и неоправданным Не такое уж оно тяжелое, имхо... Хотя в данном конкретном случае это может действительно оказаться стрельбой из пушки по воробьям.
Кстати, а система репликации для MySQL (на том же ФрешМите есть) тоже не катит?
Что касается скрипта, то любой интерактивный скрипт можно сделать автономным :) В худшем случае придется привлечь какой-нибудь expect, скажем.
|
 |  |
Он самый - Результат mysqldump 11.01.04 19:46
Автор: tdes@work Статус: Незарегистрированный пользователь
|
|
xml-parsers на него ругаются, так как он в ASCII
|
 |  |
Поискал на freshmeat.net 11.01.04 19:25
Автор: Ktirf <Æ Rusakov> Статус: Elderman
|
|
По словам "MySQL sync". Первым номером получил альфа-версию некоего перлового скрипта, занимающегося синхронизацией mysqldump'ов. Возможно, подойдет.
|
 |  |  |
в принципе, может он и не плохой скрипт, но требует... 11.01.04 20:04
Автор: tdes@work Статус: Незарегистрированный пользователь
|
|
в принципе, может он и не плохой скрипт, но требует интеракции пользователя, а нужен полностью автономный
|
|
|