Требуется команда запроса MySQL для вставки всех запросов в локальном файле .sql в базу данных MySQL на удаленном сервере. - PullRequest
0 голосов
/ 09 января 2012

Существует ли команда запроса MySQL для загрузки / вставки всех запросов в файле .sql (сгенерированном из mysqldump) на локальном сервере в базу данных mysql на удаленном сервере?

Я хотел бы попытаться сделать все это в запросах MySQL из приложения и избежать выполнения команд mysql из командной строки, потому что я думаю, что при разборе вывода таким способом было бы немного больше накладных расходов.

Я ищу что-то вроде, например, в Perl:

my $hostname = "remote_server_address";
my $dsn = "DBI:mysql:dbname:$hostname";
my $user = "user";
my $password = "password";
my $dbh= DBI->connect($remote)dsn, $user, $pw) );
my $myquery = "SPECIAL_INSERT_QUERYCOMMAND my_local_mysql_query_file.sql";
my $execute = $dbh->prepare($myquery);
$execute->execute;

Обновление: Дополнительные требования: существует ли какое-либо "управление потоком данных и отказоустойчивость", при котором обрабатываются любые проблемы соединения между локальным и удаленным сервером, чтобы передавался весь набор запросов. И будет ли ограничение на размер файла для передачи? (Надеюсь нет).

1 Ответ

1 голос
/ 09 января 2012

Я не уверен, почему вы не можете использовать инструмент командной строки mysql

cat my_local_mysql_query_file.sql | mysql -uuser -ppassword dbname 

или на окнах

mysql -uuser -ppassword dbname < my_local_mysql_query_file.sql
...