Как мне увидеть, какие таблицы в MySQL сжаты?

#mysql

#mysql

Вопрос:

Я только что создал новый сервер репликации для базы данных MySQL, и когда я загрузил mysql_dump, я получил сообщение об ошибке ERROR 1118 (42000) at line 279: Row size too large (> 8126) . Кажется разумным, строки слишком большие. Проблема в том, что эти слишком большие строки уже есть в базе данных, и мне сказали, что в некоторых таблицах может быть включено сжатие.

Как я могу увидеть, в каких таблицах включено сжатие? Почему сжатие не было передано с mysql_dump?

Ответ №1:

DESCRIBE table_name и SHOW COLUMNS FROM table_name; не предоставляйте никакой информации о сжатии, но если вы используете

 SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'database_name'
  

Затем он отобразит ROW_FORMAT, а также некоторые другие полезные вещи, такие как длина данных и средняя длина строки.