MySQL - 450 columns per table good or wrong practice
The technical limit on the number of columns depends on the engine.  InnoDB allows 1017 in MySQL5.7
Those 1017 columns can cover a maximum of 65535 bytes.
Records are stored on "pages".  InnoDB allows the page size to be configured to 4, 8, 16, 32, 64Kb.  Your record must fit on a page so you can't stick a 5K record on a 4K page.

The problems with having wide records is that when the DB engine retrieves records it does so in pages. You can get few wide records on a page so retrieval performance decreases. DBs pull the results through memory so subsequent retrievals will see if the data remains in memory before falling back to storage.  Having many records on a page means that the first physical retrieval of a page is more likely to load into memory records which can be logically (and much faster) read from memory.

From a design perspective it depends on what your use case is.  In an OLTP system then I would feel uncomfortable with 450+ columns.  A database is not a dumb store.  It can be used to enforce rules on the structure of information and the relationships between different data entities. This is an incredibly powerful weapon to have in your arsenal.

In a data warehouse supporting certain analytical systems 450+ sounds like a lot however I have seen some wide denormalised tables used to feed OLAP cube technologies.

If I saw a 450+ column table I should also ask questions about security.  When I grant access to that table do I want everyone with access to have access to all 450+ columns?  In addition to storage efficiency/performance normalisation can also factor in a security design.

Consider performance.  Of those 450+ columns which ones get retrieved the majority of the time?  Do you really want to have the expense of retrieving 450+ columns if only 32 are used on a regular basis?

The answer I have given assumes that InnoDB (the default) is used.