1

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

当我使用

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

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

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

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

4

1 回答 1

1

根本原因

  • 当你 mysqldump 存储过程时,它需要锁定mysql.proc
  • 您正在加载要从中倾倒的同一张表,并且它已锁定!

建议

先加载数据。将存储过程写入文本文件。,加载代码。

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

试试看 !!!

于 2015-02-09T01:08:57.817 回答