Hi,
I am having a problem with Creating temporary tables on InnoDB on a slave that is read-only.
Server version: 5.1.54-rel12.5-log Percona Server with XtraDB (GPL), Release 12.5, Revision 188
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| read_only | ON |
+---------------+-------+
+----------------------------------------------------------- --------------------+
| Grants for dolphin@localhost |
+----------------------------------------------------------- --------------------+
| GRANT SELECT, INSERT, CREATE TEMPORARY TABLES ON *.* TO 'dolphin'@'localhost' |
+----------------------------------------------------------- --------------------+
InnoDB Test Case
| City | CREATE TABLE `City` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`Name` char(35) NOT NULL DEFAULT '',
`CountryCode` char(3) NOT NULL DEFAULT '',
`District` char(20) NOT NULL DEFAULT '',
`Population` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`ID`),
KEY `CountryCode` (`CountryCode`),
CONSTRAINT `city_ibfk_1` FOREIGN KEY (`CountryCode`) REFERENCES `Country` (`Code`)
) ENGINE=InnoDB AUTO_INCREMENT=4080 DEFAULT CHARSET=latin1 |
CREATE TEMPORARY TABLE foo like City;
Query OK, 0 rows affected (0.09 sec)
INSERT INTO foo select * from City;
ERROR 1290 (HY000): The MySQL server is running with the --read-only option so it cannot execute this statement
--------
MyISAM test case
| City | CREATE TABLE `City` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`Name` char(35) NOT NULL DEFAULT '',
`CountryCode` char(3) NOT NULL DEFAULT '',
`District` char(20) NOT NULL DEFAULT '',
`Population` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`ID`)
) ENGINE=MyISAM AUTO_INCREMENT=4080 DEFAULT CHARSET=latin1 |
CREATE TEMPORARY TABLE foo like City;
Query OK, 0 rows affected (0.01 sec)
INSERT INTO foo select * from City;
Query OK, 4079 rows affected (0.01 sec)
Records: 4079 Duplicates: 0 Warnings: 0
-----
On both InnoDB and MyISAM this works
CREATE TEMPORARY TABLE foo AS SELECT * FROM City;
Query OK, 4079 rows affected (0.00 sec)
Records: 4079 Duplicates: 0 Warnings: 0
This problem is stopping my upgrade from MySQL 5.0.58 on which this works.
Is this a bug or intentional?
Thanks,
-Eric
I am having a problem with Creating temporary tables on InnoDB on a slave that is read-only.
Server version: 5.1.54-rel12.5-log Percona Server with XtraDB (GPL), Release 12.5, Revision 188
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| read_only | ON |
+---------------+-------+
+----------------------------------------------------------- --------------------+
| Grants for dolphin@localhost |
+----------------------------------------------------------- --------------------+
| GRANT SELECT, INSERT, CREATE TEMPORARY TABLES ON *.* TO 'dolphin'@'localhost' |
+----------------------------------------------------------- --------------------+
InnoDB Test Case
| City | CREATE TABLE `City` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`Name` char(35) NOT NULL DEFAULT '',
`CountryCode` char(3) NOT NULL DEFAULT '',
`District` char(20) NOT NULL DEFAULT '',
`Population` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`ID`),
KEY `CountryCode` (`CountryCode`),
CONSTRAINT `city_ibfk_1` FOREIGN KEY (`CountryCode`) REFERENCES `Country` (`Code`)
) ENGINE=InnoDB AUTO_INCREMENT=4080 DEFAULT CHARSET=latin1 |
CREATE TEMPORARY TABLE foo like City;
Query OK, 0 rows affected (0.09 sec)
INSERT INTO foo select * from City;
ERROR 1290 (HY000): The MySQL server is running with the --read-only option so it cannot execute this statement
--------
MyISAM test case
| City | CREATE TABLE `City` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`Name` char(35) NOT NULL DEFAULT '',
`CountryCode` char(3) NOT NULL DEFAULT '',
`District` char(20) NOT NULL DEFAULT '',
`Population` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`ID`)
) ENGINE=MyISAM AUTO_INCREMENT=4080 DEFAULT CHARSET=latin1 |
CREATE TEMPORARY TABLE foo like City;
Query OK, 0 rows affected (0.01 sec)
INSERT INTO foo select * from City;
Query OK, 4079 rows affected (0.01 sec)
Records: 4079 Duplicates: 0 Warnings: 0
-----
On both InnoDB and MyISAM this works
CREATE TEMPORARY TABLE foo AS SELECT * FROM City;
Query OK, 4079 rows affected (0.00 sec)
Records: 4079 Duplicates: 0 Warnings: 0
This problem is stopping my upgrade from MySQL 5.0.58 on which this works.
Is this a bug or intentional?
Thanks,
-Eric
Comment