AFAIK, du kan inte anropa en procedur lagrad i server A från server B.
Det jag skulle göra är:
- Ändra proceduren så att utdata lagras i en tabell.
- Använd
mysqldump
för att dumpa data från denna utdatatabell och lagra den på den andra servern.
Exempel:
På server A kan proceduren vara ungefär så här:
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, kör följande sats i skalet, inte i MySQL CLI :
mysqldump <options_A> db_A temp_result --no-create-db --add-drop-table | mysql <options_B> db_B
där:
Alternativen som behövs för att ansluta till server A från server B:-h
-u -p . db_A
Databasen i server A där resultatet lagras
Alternativen som behövs för att ansluta till server B:-h localhost -u
-p