mysqldumpの処理が終わらない

今のところ原因調査中だが、おそらくデッドロックだろうと推測している。

実行しているコマンドは次のもの。

$mysqldump -h192.168.1.20 -uユーザID -pパスワード -x --databases データベース名 | mysql -h192.168.1.20 -uユーザID -pパスワード

これ、同じサーバ(192.168.1.20)のデータベースをダンプして、パイプで流し込もうとしている。
おそらく、mysqldumpを実行すると、ダンプ対象のデータベースはロックされるのだろう(推測)。
ロックされているのにmysqlコマンドで同じデータベースへダンプ結果を流し込もうとしている。
流し込もうとしているのはmysqldumpの結果なので、dropテーブルしてからcreateテーブルするSQL
いかにもダメそうな予感(推測)。

とりあえず、mysqlのプロセス確認。

mysql> show full processlist\G;
*************************** 21. row ***************************
     Id: 43935
   User: ユーザID
   Host: 192.168.1.20:47233
     db: NULL
Command: Query
   Time: 311
  State: Waiting for global read lock
   Info: CREATE DATABASE /*!12325 IF NOT EXISTS*/ `データベース名` /*!89323 DEFAULT CHARACTER SET utf8 */
*************************** 22. row ***************************

Stateを確認すると、「Waiting for global read lock」となっているためread lock状態。