2010-09-09 120 views

回答

2

使用mysqldump創建一個轉儲文件,您可以在目標服務器上將其提供給mysql

要確保觸發器也能導出,請使用--triggers選項。 (雖然我認爲那些是默認包含的。)

要確保存儲過程也能導出,請使用--routines選項。請注意:(強調我的):

此選項已添加到MySQL 5.1.2中。 在此之前,存儲的例程不會被轉儲。例程DEFINER值在MySQL 5.1.8之前不會被轉儲。這意味着在5.1.8之前,當例程重新加載時,它們將通過設置爲重裝用戶的定義器來創建。如果您需要使用其原始定義者重新創建例程,請按前面所述直接轉儲並加載mysql.proc表的內容。

+0

有什麼辦法通過myphpadmin獲取這些數據嗎? – tzmatt7447 2010-09-09 15:30:03

+0

@tzmatt嗯,我不知道phpMyAdmin是否已經轉儲觸發器和存儲特效。我的猜測是,它不會 - 你必須檢查或試用 – 2010-09-09 15:32:45

+0

@tzmatt它似乎根據此觸發器:http://wiki.phpmyadmin.net/pma/phpMyAdmin_2.11.4 – 2010-09-09 15:33:33

0

使用mysqldump(documentation located here)。如果你不指定表,它將假定所有的表。您還可以明確選擇要複製或忽略的表格。您可以告訴它在create語句之前創建drop語句。它需要關心觸發器,但我忘記它是否需要處理例程,你必須看一看。