#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, а также некоторые другие полезные вещи, такие как длина данных и средняя длина строки.