Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana saya bisa memanggil prosedur tersimpan di server MySQL Ubuntu jarak jauh?

AFAIK, Anda tidak dapat memanggil prosedur yang disimpan di server A dari server B.

Yang akan saya lakukan adalah:

  1. Ubah prosedur sehingga output disimpan dalam tabel.
  2. Gunakan mysqldump untuk membuang data dari tabel keluaran ini dan menyimpannya di server lain.

Contoh:

Di server A, prosedurnya bisa seperti ini:

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 ;

Di server B, jalankan pernyataan berikut di shell, bukan di MySQL CLI :

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

dimana:

  • <options_A> Opsi yang diperlukan untuk terhubung ke server A dari server B:
    -h <IP of server A> -u <user> -p<password> .
  • db_A Database di server A tempat menyimpan hasil
  • <options_B> Opsi yang diperlukan untuk terhubung ke server B:
    -h localhost -u <user> -p<password>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. pengecualian mysql nilai integer salah:'@ kolom' untuk kolom dari aplikasi web asp.net

  2. Pengecualian tertangkap:java.sql.SQLException:Jumlah kolom tidak cocok dengan jumlah nilai pada baris 1

  3. ScrollPane menambahkan ke tata letak kotak

  4. Web2py – Bermigrasi dari SQLite ke MySQL

  5. Integer vs char untuk properti record DB