MySQLdump 因例程挂起
MySQLdump hangs with routines
我正在尝试使用 bat 文件将一个数据库的完整副本复制到另一个数据库。有程序和功能需要调过去,这是我最大的问题。
当我使用
mysqldump -u user -p password db1 -v -R | mysql -u user -p password db2
它将毫无问题地复制所有表,但是当涉及到带有此的过程和函数时挂起
..
-- Sending SELECT query...
-- Retrieving rows...
我有好几个函数和程序需要复制过来。任何帮助将不胜感激。
根本原因
- 当你mysqldump存储过程时,它需要锁定
mysql.proc
- 您加载的 table 与您转储的相同 table 并且它已锁定!!!
建议
先加载数据。将存储过程写入文本文件。的,加载代码。
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
试一试 !!!
我正在尝试使用 bat 文件将一个数据库的完整副本复制到另一个数据库。有程序和功能需要调过去,这是我最大的问题。
当我使用
mysqldump -u user -p password db1 -v -R | mysql -u user -p password db2
它将毫无问题地复制所有表,但是当涉及到带有此的过程和函数时挂起
..
-- Sending SELECT query...
-- Retrieving rows...
我有好几个函数和程序需要复制过来。任何帮助将不胜感激。
根本原因
- 当你mysqldump存储过程时,它需要锁定
mysql.proc
- 您加载的 table 与您转储的相同 table 并且它已锁定!!!
建议
先加载数据。将存储过程写入文本文件。的,加载代码。
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