AFAIK, je kunt een procedure die is opgeslagen op server A niet oproepen vanaf server B.
Wat ik zou doen is:
- Wijzig de procedure zodat de uitvoer in een tabel wordt opgeslagen.
- Gebruik
mysqldump
om de gegevens van deze uitvoertabel te dumpen en op te slaan op de andere server.
Voorbeeld:
Op server A kan de procedure ongeveer als volgt zijn:
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 ;
Voer op server B de volgende instructie uit in de shell, niet in MySQL CLI :
mysqldump <options_A> db_A temp_result --no-create-db --add-drop-table | mysql <options_B> db_B
waar:
<options_A>
De opties die nodig zijn om verbinding te maken met server A vanaf server B:-h <IP of server A> -u <user> -p<password>
.db_A
De database op server A waar het resultaat wordt opgeslagen<options_B>
De opties die nodig zijn om verbinding te maken met server B:-h localhost -u <user> -p<password>