Error
Error Code:
1036
MySQL Error 1036: Table Read-Only Operation
Description
Error 1036 indicates that an attempt was made to modify a MySQL table that the server considers read-only. This typically occurs when the database cannot write to the table's underlying files due to various restrictions or explicit locks.
Error Message
Table '%s' is read only
Known Causes
4 known causesFile System Issues
The underlying file system where the table data resides may be full, corrupted, or have incorrect permissions, preventing MySQL from writing to the table files.
Explicit Read Lock
A global read lock (`FLUSH TABLES WITH READ LOCK`) or a specific table read lock has been applied, making all tables or the specified table temporarily read-only.
Server Read-Only Mode
The MySQL server instance itself might be configured in a global read-only mode (e.g., `super_read_only` enabled), which prevents any data modifications across all databases.
Replication Slave Read-Only
If this is a replication slave server, it might be intentionally configured as read-only to prevent accidental writes and ensure data consistency with the master.
Solutions
Coming SoonGeneral Troubleshooting Tips
- Check the error message carefully for specific details
- Review recent changes that might have caused the error
- Search for the exact error code in the official documentation
- Check log files for additional context
- Try restarting the application or service