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状態。