2015-02-08 50 views
1

我正在嘗試使用bat文件將數據庫的完整副本執行到不同的數據庫。有一些程序和功能需要轉移,這是我最大的問題。MySQLdump與例程掛起

當我使用

mysqldump -u user -p password db1 -v -R | mysql -u user -p password db2 

它會複製所有的表沒問題的,但掛起,當涉及到的程序和函數與此

.. 
-- Sending SELECT query... 
-- Retrieving rows... 

我有好幾個功能,需要複製的過程。任何幫助,將不勝感激。

回答

1

根本原因

  • 當你mysqldump的存儲過程,它需要鎖定mysql.proc
  • 您正在加載您從傾倒在同一個表,它是鎖着的!

SUGGESTION

加載第一數據。將存儲過程寫入文本文件。加載代碼。

mysqldump -u user -p password db1 -v --skip-routines | mysql -u user -p password db2 
mysqldump -u user -p password db1 -t -d --routines > stored_procs_from_db1.sql 
mysql -u user -p password db2 < stored_procs_from_db1.sql 

給它一個嘗試!

+0

謝謝!這工作完美! – Conflict 2015-02-09 04:57:53