Mysql
 sql >> база данни >  >> RDS >> Mysql

Как мога да извикам съхранена процедура на отдалечен MySQL Ubuntu сървър?

AFAIK, не можете да извикате процедура, съхранена в сървър A от сървър B.

Това, което бих направил е:

  1. Променете процедурата, така че изходът да се съхранява в таблица.
  2. Използвайте mysqldump за да изхвърлите данните от тази изходна таблица и да ги съхраните на другия сървър.

Пример:

На сървър А процедурата може да бъде нещо подобно:

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 ;

На сървър B изпълнете следния оператор в обвивката, не в MySQL CLI :

mysqldump <options_A> db_A temp_result --no-create-db --add-drop-table | mysql <options_B> db_B

където:

  • Опциите, необходими за свързване към сървър A от сървър B:
    -h -u <потребител> -p<парола> .
  • db_A Базата данни в сървър А, където се съхранява резултатът
  • Опциите, необходими за свързване към сървър B:
    -h localhost -u -p


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. php - laravel:Как да се справим с припокриването на времето в базата данни?

  2. заявка за хоризонтално оформление на mysql данни

  3. mysql не може да се стартира в Mgt Development Environment

  4. Бройте медианата, групирана по ден

  5. MySQL функция SELECT за сумиране на текущите данни