Назад | Перейти на главную страницу

Cherry выбрать и импортировать таблицы из удаленной базы данных mysql в локальную?

У меня есть локальная база данных mysql под названием intranet_production, а на удаленном сервере (у меня есть root-доступ к серверу и mysql) есть база данных под названием «extranet».

В удаленном extranet База данных - это десятки таблиц. Мне нужно всего около 5 из них, поэтому импорт всей базы данных кажется чрезмерным.

Я ищу лучший способ импорта базы данных, как только импорт заработает, я настрою его как задание cron на каждые 24 часа. На данный момент удаленная база данных может перезаписывать только локальные данные, поскольку мы ничего не записываем в импортированные таблицы.

Итак, учитывая, что локальная база данных называется intranet_production а удаленная база данных называется extranet, как лучше всего импортировать таблицы, называемые table1, table2 и table3 Например?

Я встретил следующий метод, но я считаю, что его нужно запустить на удаленном сервере, чтобы экспортировать таблицу. Мне нужно запустить задание cron на локальном сервере.

mysqldump db-name foo | ssh user@remote.box.com mysql bar

Любые указатели будут оценены!

Вы можете написать небольшой скрипт, который сделает следующее:

ssh user@remote.box.com "mysqldump db table1 table2 > /tmp/your_dump.sql"
rsync user@remote.box.com:/tmp/your_dump.sql /tmp/
mysql db < /tmp/your_dump.sql

При желании вы можете сжать файл во время передачи для медленных ссылок.

Вы можете использовать mysqldump с удаленными хостами:

mysqldump -h database.server.com -u username -pPassword dbName tblName > local.file.sql

вместо перенаправления в файл вы можете просто перенаправить его в mysql:

mysqldump <args> | mysql -u uname -pPwd localDbName