|
|
|
Кто чем дампы накатывает?
|
|||
|---|---|---|---|
|
#18+
Физического доступа к серверу с базой нет, есть только доступ к MySQL по 3306, делаю стандартный дамп через mysqldump, на выходе файл 35 Гб примерно. Далее копирую файл на второй сервер и через MySQL пытаюсь дамп накатить, понимаю, что на это уйдёт несколько лет (вроде и сервер - 2 процессора Xeon-а, 12 ГБ ОЗУ), нагрузки при этом практически не создаётся, MySQL чуток процессор отжирает и всё, но данные так медленно вставляются, что жуть, небольшая табличка гига на три накатывалась несколько дней. В общем плюнул, полез гуглить, в верхушку дампа добавил FOREIGN_KEY_CHECKS=0, UNIQUE_CHECKS=0, AUTOCOMMIT=0 и в конец файла дампа тоже самое, возвращая первоначальные значения, плюс COMMIT. Снова запустил накатывание дампа и пошло гораздо шустрее, за сутки уже несколько таблиц накатилось, наверное месяца за пол база вся и накатится. Вопрос - кто чем дампы накатывает и можно ли убыстрить сей процесс, не ждёте же неделями? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2016, 03:10 |
|
||
|
Кто чем дампы накатывает?
|
|||
|---|---|---|---|
|
#18+
st_stФизического доступа к серверу с базой нет, есть только доступ к MySQL по 3306, делаю стандартный дамп через mysqldump, на выходе файл 35 Гб примерно. Далее копирую файл на второй сервер и через MySQL пытаюсь дамп накатить, понимаю, что на это уйдёт несколько лет (вроде и сервер - 2 процессора Xeon-а, 12 ГБ ОЗУ), нагрузки при этом практически не создаётся, MySQL чуток процессор отжирает и всё, но данные так медленно вставляются, что жуть, небольшая табличка гига на три накатывалась несколько дней. В общем плюнул, полез гуглить, в верхушку дампа добавил FOREIGN_KEY_CHECKS=0, UNIQUE_CHECKS=0, AUTOCOMMIT=0 и в конец файла дампа тоже самое, возвращая первоначальные значения, плюс COMMIT. Снова запустил накатывание дампа и пошло гораздо шустрее, за сутки уже несколько таблиц накатилось, наверное месяца за пол база вся и накатится. Вопрос - кто чем дампы накатывает и можно ли убыстрить сей процесс, не ждёте же неделями? может посмотреть на другие способы переноса : (а) просто файлы или (б) файловую систему ... кажется линукс LVM copy можно присобачить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2016, 04:04 |
|
||
|
Кто чем дампы накатывает?
|
|||
|---|---|---|---|
|
#18+
есче вариант, использовать зип таблицы. Это имее смысл если медленые диски но много памяти и быстрый процессор -- т.е. если проигрыш на архивацию-разархивацию компенсируется выигрышем из-за меньшего обрашение к диску. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2016, 04:07 |
|
||
|
Кто чем дампы накатывает?
|
|||
|---|---|---|---|
|
#18+
javajdbcможет посмотреть на другие способы переноса : (а) просто файлы или (б) файловую систему ... кажется линукс LVM copy можно присобачить... Я пока просто не нашёл доступа к серверу с бд по ssh, вроде можно что-то в каком-то виде выгрузить в виде файлов (это Amazon RDS). А так конечно идея хорошая, примерно как в MS SQL, два файла с базой скопировал, подцепил и готово. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2016, 04:12 |
|
||
|
Кто чем дампы накатывает?
|
|||
|---|---|---|---|
|
#18+
javajdbcесче вариант, использовать зип таблицы. Это имее смысл если медленые диски но много памяти и быстрый процессор -- т.е. если проигрыш на архивацию-разархивацию компенсируется выигрышем из-за меньшего обрашение к диску. Сейчас глянул, ресурсы (CPU 0.2% и ОЗУ) висят более менее свободными, а вот диск забит mysql-ем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2016, 04:22 |
|
||
|
Кто чем дампы накатывает?
|
|||
|---|---|---|---|
|
#18+
st_stjavajdbcесче вариант, использовать зип таблицы. Это имее смысл если медленые диски но много памяти и быстрый процессор -- т.е. если проигрыш на архивацию-разархивацию компенсируется выигрышем из-за меньшего обрашение к диску. Сейчас глянул, ресурсы (CPU 0.2% и ОЗУ) висят более менее свободными, а вот диск забит mysql-ем. вот несколько настроек на компрессию: https://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html#sysvar_innodb_compression_level еше вариант: есть опция: одна таблица -- один файл. Может это поможет как-то распаралелить вставки... другие варианты: билк инсерт, повышения каких нибудь буферов... Завтра народ в России проснется -- советов накидают... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2016, 04:31 |
|
||
|
Кто чем дампы накатывает?
|
|||
|---|---|---|---|
|
#18+
Задача - перенести копию текущего состояния БД? тогда идём читать Backing Up Raw Data from a Slave . Трудно придумать что-то более быстрое... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2016, 08:57 |
|
||
|
Кто чем дампы накатывает?
|
|||
|---|---|---|---|
|
#18+
AkinaЗадача - перенести копию текущего состояния БД? Да, есть ip-адрес, порт 3306 и логин/пароль к mysql, нужно перенести бд с того сервера на другой. ssh и прочего к серверу с mysql нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2016, 09:51 |
|
||
|
Кто чем дампы накатывает?
|
|||
|---|---|---|---|
|
#18+
И это mysqldump все 35 гектар дампа тащит с сервера к себе на клиентскую станцию? и даже нет возможности выгрузить данные ТАМ в файл, а потом из файловой системы скопировать полученный файл? по FTP там... Ну тогда я бы предложил установить локальный MySQL, после получения дампа (само собой, только данные) влить их в БД, затем добить структуру до полной (индексы, констрейнты, триггеры и протчая), а потом полученную БД переносить на целевой сервер - бинарами. Или к целевому серверу тоже доступ никакой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2016, 10:21 |
|
||
|
Кто чем дампы накатывает?
|
|||
|---|---|---|---|
|
#18+
mysqldump --no-data - получаем структуру http://dev.mysql.com/doc/refman/5.7/en/select-into.html - сливаем данные http://dev.mysql.com/doc/refman/5.7/en/load-data.html - заливаем данные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2016, 10:48 |
|
||
|
Кто чем дампы накатывает?
|
|||
|---|---|---|---|
|
#18+
В догонку http://stackoverflow.com/questions/4743419/mysql-dump-to-localhost-outfile-from-a-remote-database ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2016, 10:52 |
|
||
|
Кто чем дампы накатывает?
|
|||
|---|---|---|---|
|
#18+
AkinaИ это mysqldump все 35 гектар дампа тащит с сервера к себе на клиентскую станцию? и даже нет возможности выгрузить данные ТАМ в файл, а потом из файловой системы скопировать полученный файл? по FTP там... Ну тогда я бы предложил установить локальный MySQL, после получения дампа (само собой, только данные) влить их в БД, затем добить структуру до полной (индексы, констрейнты, триггеры и протчая), а потом полученную БД переносить на целевой сервер - бинарами. Или к целевому серверу тоже доступ никакой? Да, все 35 Гб тащу на второй сервер через mysqldump, просто удалённо подрубаюсь к тому первому mysql-серверу. Ко второму серверу, на который накатываю дамп, доступ полный, можно делать с ним что угодно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2016, 11:26 |
|
||
|
Кто чем дампы накатывает?
|
|||
|---|---|---|---|
|
#18+
st_stДа, все 35 Гб тащу на второй сервер через mysqldump, просто удалённо подрубаюсь к тому первому mysql-серверу. Ко второму серверу, на который накатываю дамп, доступ полный, можно делать с ним что угодно.Тогда можно попробовать на втором подключиться к первому через движок FEDERATED, воссоздать таблицы и копировать данные командой INSERT ... SELECT ... . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2016, 11:30 |
|
||
|
Кто чем дампы накатывает?
|
|||
|---|---|---|---|
|
#18+
m0nk3y http://dev.mysql.com/doc/refman/5.7/en/select-into.html - сливаем данныеА теперь расскажи, как он получит файл с удалённого сервера... да и не факт, что у него есть привилегия FILE... st_stКо второму серверу, на который накатываю дамп, доступ полный, можно делать с ним что угодно.Ну тогда просто дамп туда в виде файла, и там локальное восстановление в "минимальную" структуру. С последующим восстановлением индексов и пр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2016, 11:32 |
|
||
|
Кто чем дампы накатывает?
|
|||
|---|---|---|---|
|
#18+
Akina, я же во втором сообщении все написал, давай повторю еще раз авторВ догонку http://stackoverflow.com/questions/4743419/mysql-dump-to-localhost-outfile-from-a-remote-database ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2016, 11:35 |
|
||
|
Кто чем дампы накатывает?
|
|||
|---|---|---|---|
|
#18+
FK и триггеров нет, индексы как я понимаю отрубает сам mysqldump (в файле дампа перед каждой таблицей вижу /*!disable indexes*/ и после - /*!enable indexes*/). Может в диск упирается всё? 32 миллиона на 4 Гб записей сейчас вставляются довольно быстро, 50 Гб и 5 млн записей - висят уже очень долго. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2016, 11:37 |
|
||
|
Кто чем дампы накатывает?
|
|||
|---|---|---|---|
|
#18+
m0nk3y , ну то есть это ни разу не SELECT INTO, а обычный SELECT в консоль. Это возможно на "простых" данных. А вот если там, к примеру, поля с разными кодировками, или там блобы с фотографиями - будут проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2016, 11:40 |
|
||
|
Кто чем дампы накатывает?
|
|||
|---|---|---|---|
|
#18+
m0nk3ymysqldump --no-data - получаем структуру http://dev.mysql.com/doc/refman/5.7/en/select-into.html - сливаем данные http://dev.mysql.com/doc/refman/5.7/en/load-data.html - заливаем данные То есть сначала делаем дамп структуры, затем накатываем её на втором сервере, после чего на первый сервер делаем 400 sql-запросов (столько таблиц в базе), создаём 400 файлов и затем их ещё 400 запросами накатываем на втором сервере? Тут сразу вопрос - а будет ли это быстрее того, что уже есть? По сути и сейчас дамп восстанавливается с отключенными индексами, проверкой на уникальность ключей, FK и т.д. и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2016, 13:22 |
|
||
|
Кто чем дампы накатывает?
|
|||
|---|---|---|---|
|
#18+
miksoftst_stДа, все 35 Гб тащу на второй сервер через mysqldump, просто удалённо подрубаюсь к тому первому mysql-серверу. Ко второму серверу, на который накатываю дамп, доступ полный, можно делать с ним что угодно.Тогда можно попробовать на втором подключиться к первому через движок FEDERATED, воссоздать таблицы и копировать данные командой INSERT ... SELECT ... . FEDERATED - интересная штуковина. Здесь наверное тоже надо тестировать, быстрее оно будет или нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2016, 13:41 |
|
||
|
Кто чем дампы накатывает?
|
|||
|---|---|---|---|
|
#18+
st_stнадо тестировать, быстрее оно будет или нет.Сперва надо убедиться, есть ли она на целевом сервере. А если есть - разрешена ли... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2016, 14:04 |
|
||
|
Кто чем дампы накатывает?
|
|||
|---|---|---|---|
|
#18+
Akinast_stнадо тестировать, быстрее оно будет или нет.Сперва надо убедиться, есть ли она на целевом сервере. А если есть - разрешена ли... Гляну подробней, может ещё какие варианты есть с тем первым сервером. Вообще заметил такую особенность - таблица, в ней три числовых поля, 32 миллиона записей, занимает 4 Гб, накатилась за 1 час. Вторая таблица, 5 млн записей (то есть намного меньше), 50 гб общий вес, много заполненных текстовых полей, сейчас загружено 4 Гб из 50-ти, потребовались сутки, размер вставленных данных тот же, а загружает в 12 раз медленней. То есть количество записей и соотносительный размер роли не играет, втупляет при вставке текстовой информации в большее количество полей. Печаль вся в том, что таких баз несколько. Если брать скорость по 4 Гб в сутки, то примерно за месяц восстановится дамп первой базы, плюс пару месяцев на вторую, а там август, как раз отпуск ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2016, 16:05 |
|
||
|
Кто чем дампы накатывает?
|
|||
|---|---|---|---|
|
#18+
И по размерам, Heidi показывает размер баз в пределах 250-300 Гб, размер же дампа (не сжатого) ~35 Гб, 4 Гб - это размер от 250-300, не от дампа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2016, 16:13 |
|
||
|
Кто чем дампы накатывает?
|
|||
|---|---|---|---|
|
#18+
Размер БД показывается с учётом индексов и степени заполнения файлов таблиц - т.е. количество занимаемого на томе места. А в дампе - только данные, потому они и меньше. Но вот уменьшение объёма в 7-8 раз наводит на неприятные мысли - многовато больно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2016, 16:15 |
|
||
|
Кто чем дампы накатывает?
|
|||
|---|---|---|---|
|
#18+
ТС, проверьте скорость диска на запись. Если там линукс, то перейдите в каталог, куда мускул пишет свои файлы БД и дайте такую команду: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2016, 19:44 |
|
||
|
Кто чем дампы накатывает?
|
|||
|---|---|---|---|
|
#18+
ГромыхательТС, проверьте скорость диска на запись. Если там линукс, то перейдите в каталог, куда мускул пишет свои файлы БД и дайте такую команду: Код: plaintext Код: powershell 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2016, 02:39 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39213413&tid=1831915]: |
0ms |
get settings: |
6ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
169ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 213ms |
| total: | 467ms |

| 0 / 0 |
