Гость
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Синхронизация таблиц между базами / 9 сообщений из 9, страница 1 из 1
13.05.2020, 10:57
    #39956691
TINC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизация таблиц между базами
Есть разные базы MySQL на разных серверах. С нескольких серверов нужно синхронизировать одну таблицу в БД одного сервера. То есть, есть сервера A,B и центральный G
Нужно синхронизировать таблицу table с серверов A и B в таблицы table_a и table_b сервера G.
Как это лучше делать? Пока что в голову приходит mysqldump или выборка в текстовый файл с последующей отправкой данных в нужные таблицы.
...
Рейтинг: 0 / 0
13.05.2020, 11:39
    #39956722
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизация таблиц между базами
TINC
Как это лучше делать? Пока что в голову приходит mysqldump или выборка в текстовый файл с последующей отправкой данных в нужные таблицы.
Если задержки такого метода устраивают, то лучше так и сделать.
Только я бы предложил, не дампом, а в csv/tsv файл (например, с помощью SELECT ... INTO OUTFILE), а загружать его командами LOAD DATA INFILE/mysqlimport.
...
Рейтинг: 0 / 0
13.05.2020, 12:05
    #39956741
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизация таблиц между базами
TINC
Пока что в голову приходит mysqldump или выборка в текстовый файл с последующей отправкой данных в нужные таблицы.
А специально для этого предназначенная репликация - не?
https://dev.mysql.com/doc/refman/8.0/en/replication.html
...
Рейтинг: 0 / 0
14.05.2020, 16:03
    #39957536
TINC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизация таблиц между базами
Насчёт репликации - поизучаю.

Но пока надо сделать, чтобы работало. В базе-исходнике есть таблица accounting. Я её утягиваю mysqldump и пересылаю файл на сервер с базой-получателем.
Одна проблема - мне таблицу accounting нужно записать в базу под другим именем - accounting_01, так как будут и другие таблицы accounting с приставками 02,03 и т.п.
Как это лучше сделать?

mysql -uuser -h127.0.0.1 --password=password db < accounting.sql
...
Рейтинг: 0 / 0
14.05.2020, 17:15
    #39957592
Alex_Ustinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизация таблиц между базами
вариантов пруд пруди
1. чисто механически - репликация выше сказал Akina, 1 в 1, и триггеры на таблицу "accounting" на копию "accounting_01"
2. ковыряние дампов с переименованием "accounting" в "accounting_01"
и т.д.
...
Рейтинг: 0 / 0
14.05.2020, 17:29
    #39957607
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизация таблиц между базами
Alex_Ustinov
2. ковыряние дампов с переименованием "accounting" в "accounting_01"
а csv ковырять и не надо...
...
Рейтинг: 0 / 0
14.05.2020, 18:47
    #39957674
Alex_Ustinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизация таблиц между базами
так если как выше
...............db < accounting.sql
там же имя Тейбл будет
...
Рейтинг: 0 / 0
15.05.2020, 11:03
    #39957899
TINC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизация таблиц между базами
Alex_Ustinov,

Тогда он запишет таблицу под первоначальным названием. Можно её сразу переименовать?
...
Рейтинг: 0 / 0
15.05.2020, 11:24
    #39957908
Alex_Ustinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизация таблиц между базами
TINC,

я же об этом выше и написал.
2 вариант
открываете файл *.sql в обычном текстовом редакторе (типа Notepad++ ) и заменяете имя таблицы "accounting" на "accounting_01"
там же обычный текст находится...
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Синхронизация таблиц между базами / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]