2015-02-08 63 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