何らã‹ã®åŽŸå› ã«ã‚ˆã‚Šlock failedã¨ãªã‚Šã€mroongaã®ãƒ†ãƒ¼ãƒ–ルをå«ã‚€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®
æ“作ãŒå‡ºæ¥ãªããªã£ãŸã¨ãã®å¾©æ—§æ–¹æ³•を紹介ã—ã¾ã™ã€‚
復旧方法
mroonga豆知è˜ã€‚テーブルãŒãƒãƒƒã‚¯çŠ¶æ…‹ã«ãªã‚Šä½•も出æ¥ãªããªã£ãŸæ™‚㯠"groonga ./データファイル.mrn" ã§é–‹ã„ã¦ã€ clearlockã‚’å©ãã¨å¾©æ´»ã™ã‚‹ã€‚
— Y.Kentaro (@yoshi_ken) May 9, 2013
ã“れã ã‘ã ã¨è‹¥å¹²ä¸è¦ªåˆ‡ãªã®ã§ã€çжæ³å«ã‚ã¦èª¬æ˜Žã—ã¾ã™ã€‚
drop tableコマンドを発行ã—ãŸæ‰€ã€lockå¾…ã¡ã¨ãªã‚‹
mysql> show processlist; +----+------+-----------+------+---------+------+-------------+------------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+------+-----------+------+---------+------+-------------+------------------------+ | 1 | root | localhost | NULL | Query | 15 | System lock | drop database wikipedia | | 2 | root | localhost | NULL | Query | 0 | init | show processlist | +----+------+-----------+------+---------+------+-------------+------------------------+ 2 rows in set (0.00 sec)
ãã®å¾Œã¯ã€MySQLã¯èµ·ã¡ä¸ŠãŒã‚‹ã‚‚ã®ã®ã€ã‚¨ãƒ©ãƒ¼ãŒèµ·ããŸãã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«å¯¾ã—ã¦
drop database
も発行ã§ããªã„状態(System lockã¨ãªã‚‹ï¼‰ã«ãªã‚Šã¾ã™ã€‚
/var/lib/mysql/groonga.log
ã“ã®ãƒ•ァイルを見るã¨ã€ç¢ºã‹ã«ãƒãƒƒã‚¯ç«¶åˆãŒèµ·ãã¦ã„ã‚‹ã“ã¨ãŒåˆ†ã‹ã‚Šã¾ã™ã€‚
$ sudo tail /var/lib/mysql/groonga.log 2013-05-08 19:10:01.010939|n|1d436700|io(wikipedia.mrn) collisions(1000/119): lock failed 1000 times 2013-05-08 19:28:58.470488|n|1d436700|io(wikipedia.mrn) collisions(1000000/119)
手動復旧
ã“ã®çжæ³ã«ãªã£ãŸã‚‰ã€groongaコマンドを用ã„ãŸæ‰‹å‹•復旧オペレーションãŒå¿…è¦ã§ã™ã€‚
ãªãŠã€groongaコマンドを使ã„ã¾ã™ã®ã§ã€å¿…è¦ã«å¿œã˜ã¦yum install groonga
を行ã£ã¦ãã ã•ã„。
ã¾ãšã¯MySQLã®ãƒ‡ãƒ¼ã‚¿ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¸ç§»å‹•ã—ã€groonga データベースå.mrn
ã¨ã„ã†ã‚³ãƒžãƒ³ãƒ‰ã§ãƒ•ァイルを開ãã¾ã™ã€‚
次ã«ã€clearlock
ã¨æ‰“ã¡è¾¼ã¿Enterを押ã—ã¾ã—ょã†ã€‚
行末ã«trueã¨æ›¸ã‹ã‚ŒãŸå¿œç”ãŒè¿”ã‚Œã°æˆåŠŸã§ã™ã€‚
$ cd /var/lib/mysql $ sudo groonga ./wikipedia.mrn > clearlock [[0,1368059582.565,0.113549709320068],true] > quit [[0,1368059584.49693,3.60012054443359e-05],true]
最後ã«ã€MySQLã®å†èµ·å‹•を行ã†ã“ã¨ã‚’オススメã—ã¾ã™ã€‚
ãŠç–²ã‚Œæ§˜ã§ã—ãŸã€‚
ã‚ã‚ã›ã¦èªã¿ãŸã„
http://groonga.org/ja/docs/reference/commands/clearlock.html
PlanetMySQL Voting: Vote UP / Vote DOWN