How to Set MySQL/MariaDB Read-Only Except for a Single Table

mariadbMySQLread-only-database

I Have a database with lots of tables and read_only enabled in the config, is it possible to set a single table to be writable?

Best Answer

I don't believe you can do read_only = 1 (except for table x);

So I would think your best option would be to set all your users to read_only:

GRANT SELECT ON *.* TO 'user'@'1.2.3.4';

Then the users that need to write to that table would be given permission to write to just that table. e.g.

GRANT INSERT, UPDATE ON 'dbname.tablename'@'1.2.3.4';