AFAIK, du kan ikke kalde en procedure gemt på server A fra server B.
Det jeg ville gøre er:
- Rediger proceduren, så outputtet gemmes i en tabel.
- Brug
mysqldump
for at dumpe dataene fra denne outputtabel og gemme dem på den anden server.
Eksempel:
På server A kan proceduren være sådan her:
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 ;
På server B skal du udføre følgende sætning i shellen, ikke i MySQL CLI :
mysqldump <options_A> db_A temp_result --no-create-db --add-drop-table | mysql <options_B> db_B
hvor:
De nødvendige muligheder for at oprette forbindelse til server A fra server B: -h
-u -p . db_A
Databasen i server A, hvor resultatet er gemtDe nødvendige muligheder for at oprette forbindelse til server B: -h localhost -u
-p