AFAIK, non puoi chiamare una procedura memorizzata nel server A dal server B.
Quello che farei è:
- Modifica la procedura in modo che l'output sia archiviato in una tabella.
- Usa
mysqldump
per scaricare i dati di questa tabella di output e archiviarli nell'altro server.
Esempio:
Sul server A, la procedura può essere simile a questa:
delimiter $$
create procedure my_procedure()
begin
-- Create a table to store the output:
drop table if exists temp_result;
create table temp_result (
CID int not null primary key,
name varchar(50)
);
-- Populate the table
insert into temp_result
select ...
end $$
delimiter ;
Sul server B, esegui la seguente istruzione nella shell, non nella CLI MySQL :
mysqldump <options_A> db_A temp_result --no-create-db --add-drop-table | mysql <options_B> db_B
dove:
<options_A>
Le opzioni necessarie per connettersi al server A dal server B:-h <IP of server A> -u <user> -p<password>
.db_A
Il database nel server A in cui è archiviato il risultato<options_B>
Le opzioni necessarie per connettersi al server B:-h localhost -u <user> -p<password>