MySQLdump与例程挂起

时间:2015-02-08 23:12:09

标签: mysql function mysqldump procedures routines

我正在尝试使用bat文件将数据库的完整副本写入不同的数据库。有一些程序和功能需要转移,这是我最大的问题。

当我使用

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

它会复制所有表没问题,但是当涉及到这个程序和函数时会挂起

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

我有很多需要复制的功能和程序。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

ROOT CAUSE

  • 当你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

给它一个尝试!!!