Details
Description
I have a replicated slave with "read_only=1" set in my.cnf
I have a user set up as follows:
CREATE USER 'slave_user'@'localhost' IDENTIFIED BY 'slave_pswd'; |
GRANT ALL ON mydb.* TO 'slave_user'@'localhost' WITH GRANT OPTION; |
If I log in as 'slave_user', I can create a temporary table, write to it, and then drop it successfully:
CREATE TEMPORARY TABLE temp_x (id integer); |
INSERT INTO temp_x values (1); |
DROP TEMPORARY TABLE IF EXISTS temp_x; |
However, if I have not created a temporary table, and I start with:
DROP TEMPORARY TABLE IF EXISTS temp_x; |
I get the error: ERROR 1290 (HY000): The MariaDB server is running with the --read-only option so it cannot execute this statement
I have countless lines of application code which always checks to make sure a temporary table is dropped before creating it to avoid an "already exists" error. Always worked on MySQL 5.6 and lower, on the exact same slave database with read_only. After upgrading to MariaDB 10.1, this problem emerged.