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

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

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

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

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


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