// FINAL
I've tried workaround provided by @RolandoMySQLDBA and it helped after slightly modification.
Command
INSERT INTO some_new_table_name_here SELECT * FROM some_table_name_here; produced error:
ERROR 1906 (HY000): The value specified for generated column 'calcOne' in table 'some_table_name_here' has been ignored Since there are generated columns there, it's not possible to INSERT value into that column, so I had to change INSERT query to this:
INSERT INTO some_new_table_name_here (`id`, `title`, `description`, `price_actual`, `auction`, `square_meter_price`, `square_meter_price_analog`, `accuracy`, `accuracy_analog`, `total_area`) SELECT `id`, `title`, `description`, `price_actual`, `auction`, `square_meter_price`, `square_meter_price_analog`, `accuracy`, `accuracy_analog`, `total_area` FROM some_table_name_here; And afterwards command was fine too:
ANALYZE TABLE some_new_table_name_here; +-----------------------------+---------+----------+----------+ | Table | Op | Msg_type | Msg_text | +-----------------------------+---------+----------+----------+ | db.some_new_table_name_here | analyze | status | OK | +-----------------------------+---------+----------+----------+ 1 row in set (2.137 sec) I've also discovered one nice thing - after successfully duplicating table, renaming both of old and new of them and doing analyze, I tried to analyze and also optimize some_old_table_name_here table and it worked without errors!
IDK what was the problem. Maybe since the table previously was in use, it was not possible to alter it, while there are generated columns.