Bug #55905 Transactional temporary tables do not work under --read-only, Part II
Submitted: 11 Aug 2010 7:56 Modified: 11 Aug 2010 10:38
Reporter: Holger Thiel Email Updates:
Status: Not a Bug Impact on me:
None 
Category:MySQL Server: Security: Privileges Severity:S2 (Serious)
Version:5.1.49 (InnoDB Plugin) OS:Linux
Assigned to: CPU Architecture:Any
Tags: innodb, read-only, replication, temporary tables, transactions

[11 Aug 2010 7:56] Holger Thiel
Description:
The bug with DML and temporary tables on read-only server seems to be back.

See Bug #33669

How to repeat:
mysql> SHOW GLOBAL VARIABLES LIKE 'storage_engine';
+----------------+--------+
| Variable_name  | Value  |
+----------------+--------+
| storage_engine | InnoDB |
+----------------+--------+
1 row in set (0.00 sec)

mysql> SHOW GRANTS FOR CURRENT_USER;
+--------------------------------------------------------------------------------------------------------------------------+
| Grants for hoth@172.17.68.15                                                                                             |
+--------------------------------------------------------------------------------------------------------------------------+
| GRANT SELECT ON *.* TO 'hoth'@'192.44.68.15' IDENTIFIED BY PASSWORD '*1641CB19DC38D27F7655876EC5B452D8BFA87B59'          |
| GRANT SELECT, INSERT, UPDATE, DELETE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES ON "tmptbl".* TO 'hoth'@'192.44.68.15' |
| GRANT SELECT ON "mysql".* TO 'hoth'@'192.44.68.15'                                                                       |
+--------------------------------------------------------------------------------------------------------------------------+
3 rows in set (0.00 sec)

mysql> CREATE TEMPORARY TABLE `tmptbl`.`peterstable`(     step varchar(50),     reactiontime bigint,     type varchar(50) );
Query OK, 0 rows affected (0.00 sec)

mysql> insert into `tmptbl`.`peterstable`  values ('LINE_TERMINATION_CONFIRMED', 4, 'WITA_LINE_TERMINATION');
ERROR 1290 (HY000): The MySQL server is running with the --read-only option so it cannot execute this statement
[11 Aug 2010 8:04] Holger Thiel
It seems to be again a storage issue.

mysql> CREATE TEMPORARY TABLE `tmptbl`.`peterstable`(     step varchar(50),     reactiontime bigint,     type varchar(50) ) ENGINE=MyISAM;
Query OK, 0 rows affected (0.00 sec)

mysql> insert into `tmptbl`.`peterstable`  values ('LINE_TERMINATION_CONFIRMED', 4, 'WITA_LINE_TERMINATION');
Query OK, 1 row affected (0.00 sec)
[11 Aug 2010 10:38] Sveta Smirnova
Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://dev.mysql.com/doc/ and the instructions on
how to report a bug at http://bugs.mysql.com/how-to-report.php

Fix of bug #33669 had not been pushed into 5.1 tree. See comment "[21 Jan 12:26] Konstantin Osipov" for details.