I have MySQL 5.0.67 on Windows system. I have downloaded InnoTop and Active Perl 5.8.8, than install it and all requied modules for Perl. Innotop works fine, but I want to turn on innodb_lock_monitor. When I push "a" in Lock mode Innotop ask me "command to send:", than I enter command CREATE TABLE innodb_lock_monitor(a INT) ENGINE=INNODB; and get error "Error from netcafe44: DBD::mysql::st execute failed: No database selected at innotop line 5288, <IN> line 14.". Than I tried to execute this command in MySQL Administrator, table innodb_lock_monitor was created, and I get output to "\MySQL Server 5.0\data\smsql.err" file. In this output there is a lot of information about locks, for example
"mysql tables in use 1, locked 1
LOCK WAIT 3 lock struct(s), heap size 320"
but none of these lock were shown in Innotop. Also when I turn on innodb_lock_monitor, no locks were shown in Innotop at all.
What I did wrong?
Your CREATE TABLE command lacked a database, e.g.
CREATE TABLE mydb.innodb_lock_monitor(a int)engine=innodb;
If you don't see any locks in innotop, perhaps there aren't any locks being held currently. If you see locks in SHOW INNODB STATUS output but innotop doesn't show them in L mode, please submit a bug report including the SHOW INNODB STATUS output as an attachment.