InnoDB storage for multiple BIT(M) columns? Let's say if I have a table with four BIT(1) columns. Will InnoDB use 4 bytes to store these columns, or will it be smart and use 1 byte?
(Referring to MySQL 8, if it matters.)
that has nothing to do with smart 4 columns are 4 columns. so it woud use 4 byte
Save your bit patterns as Integer.
Depending what you need you can use tinyint 1 Byte (8bits) till BIGINT 8 Byte (64 bits)
If you have or want to save space, you have no better solution.
if you want to store more bit you have to switch to BLOB and use that
For example

2 is 00000010
3 is 00000011

Any language can transform an integer too a byte array and back again