This page has been translated from Spanish

...::: Guatewireless.org ::::..

Технология, Software Libre, Гватемала, Open Source, Linux, Wireless, WiFi, сценарист, Debian, CentOS, Gentoo, RedHat, SuSE, Windows

MySQL: полная ошибка - решить таблицы

Наряду с моим обычным обязанностям, я также администраторов баз данных (Database Administrator) и почетных в последнее время я был correguir ошибками устранения неполадок и MySQL. Все началось с проблемы, описанной ниже:

Среди всех наших баз данных, есть одна, в частности, что в среднем рассматривает 40K транзакций в день. Эта база данных MySQL работает на которой есть таблица, которая уже превышает 21 млн записей, которые делают его иметь 4 Гб информации.

Для своих размеров, эта ошибка показал MyISAM таблицы таблицы полном объеме, что вначале мы думали, что мы может быть ограничен 2.4.x ядро файловую систему ext2 (если это Red Hat Linux 9).

4GB MySQL's Limit

Ошибка MySQL, таблица полной это сообщение, которое отображается, когда таблица достигает 4GB размер действительно недооценены последствия, так как они очень мало приложений, которые могут превысить эту сумму данных. Но когда мы укрепили наши услуги и наш сервер баз данных MySQL прекращает работать, является серьезной проблемой.

Желательно, чтобы сделать хороший анализ и дизайн нашей базе данных, чтобы этого не произошло. Однако, иногда трудно представить, что таблица может содержать 21 млн. записей в два года.

InnoDB таблиц не имеют подобных ограничений, поскольку его хранение модель совершенно иная. В таблице MyISAM с динамическими или переменным строк длиной, то индексный файл таблицы (nombre_tabla.MYI) строк хранится с использованием 32-разрядных указателя в файле данных (nombre_tabla.MYI). Это имеет предел в 4 ГБ.

Помните, что большинство компьютеров 32bit поскольку такие технологии, как 64-разрядные процессоры AMD Opteron также поддержкой 32bit.

Решение проблемы является полная таблица

Решение таблице полном объеме не очень dicil, просто достаточно, чтобы выполнить команду ALTER TABLE, но это может занять значительное время. Рассмотрим пример таблицы Существо Длина рукава:

  MySQL> описывать существо; 
  +-----------------+-----------------------+------+ -----+---------+----------------+ 
  | Field       A A A | Тип A             A A A | Null | Key | Default | Extra      A A A | 
  +-----------------+-----------------------+------+ -----+---------+----------------+ 
  | Путеводитель        A A A | INT (10)     unsigned | NoA | PRI | NULL A | auto_increment | 
  | Ида Â Â Â Â Â Â Â Â Â A A A | MEDIUMINT (8) неподписанных | NoA | MUL | 0A Â Â A A A | Â Â Â Â Â Â Â Â Â Â Â Â A A A | 
  | Карта         A A A | SMALLINT (5) unsigned | NoA | MUL | 0A   A A A |             A A A | 
  | SpawnMask   A A A | TINYINT (3) unsigned A | NoA | A A A A | A  1В A A A |             A A A | 
  | Модели Â Â Â Â A A A | MEDIUMINT (8) неподписанных | NoA | A A A A | 0A Â Â A A A | Â Â Â Â Â Â Â Â Â Â Â Â A A A | 
  | Equipment_id A A | MEDIUMINT (9)       A A A | NoA | A A A A | 0A   A A A |             A A A | 
  | Position_x  A A A | Float             A A A | NoA | A A A A | 0A   A A A |             A A A | 
  | Position_y  A A A | Float             A A A | NoA | A A A A | 0A   A A A |             A A A | 
  | Position_z  A A A | Float             A A A | NoA | A A A A | 0A   A A A |             A A A | 
  | Направленность A A A | Float             A A A | NoA | A A A A | 0A   A A A |             A A A | 
  | Spawntimesecs A | INT (10)     unsigned | NoA | A A A A | 120A A A A |             A A A | 
  | Spawndist   A A A | Float             A A A | NoA | A A A A | A 5В Â A A A |             A A A | 
  | Currentwaypoint | MEDIUMINT (8) неподписанных | NoA | A A A A | 0A Â Â A A A | Â Â Â Â Â Â Â Â Â Â Â Â A A A | 
  | Curhealth   A A A | INT (10)     unsigned | NoA | A A A A | A  1В A A A |             A A A | 
  | Curmana     A A A | INT (10)     unsigned | NoA | A A A A | 0A   A A A |                | 
  | DeathState  A A A | TINYINT (3) unsigned A | NoA | A A A A | 0A   A A A |             A A A | 
  | MovementType A A | TINYINT (3) unsigned A | NoA | A A A A | 0A   A A A |             A A A | 
  +-----------------+-----------------------+------+ -----+---------+----------------+ 
  17 строк в набор (0,02 сек) 


Чтобы найти предел размера таблицы, используя SHOW TABLE STATUS. И заметьте, что Max_data_length составляет 4 ГБ.

  MySQL> Существо SHOW TABLE STATUS LIKE '\ G;
 *************************** 1.  строка ***************************
 Â Â Â Â Â Â Â Â Â имя: Существо
 Â Â Â Â Â Â Â двигателя: MyISAM
 Â Â Â Â Â Â Â Версия: 10
 Â Â Â Â Row_format: Динамический
 Â Â Â Â Â Â Â Â Â Â строк: 95094
 Â Avg_row_length: 46
 Â Â Â Data_length: 4382696
 Max_data_length: 281474976710655
 Â Â Index_length: 2628608
 Â Â Â Â Â Data_free: 0
 Â Auto_increment: 106039
 Â Â Â Create_time: 2008-09-19 09:54:05
 Â Â Â Update_time: 2008-09-19 10:31:08
 Â Â Â Â Check_time: 2008-09-19 10:31:09
 Â Â Â Â Â сортировки: utf8_general_ci
 Â Â Â Â Â контрольная сумма: NULL
 Â Create_options: ROW_FORMAT = динамический
 Â Â Â Â Â Â Â Комментарий: Вызов система
 1 строка в наборе (0,00 сек)

 ОШИБКА:
 Нет запросе указан

 MySQL> 



Давайте исправим это, напечатав:

  MySQL> ALTER TABLE AVG_ROW_LENGTH Существо max_rows = 200000000000 = 50;
 Query OK, 0 строк (0.03 секунд) 


Теперь, если мы запускаем Существо SHOW TABLE STATUS LIKE '\ G, мы можем видеть Идея о том, что новое значение Max_data_length: 1099511627775. Если да, то теперь мы можем хранить больше информации в нашем MySQL таблицу.

Примечание: Эта команда в моей аппаратной Intel (R) Core (TM) CPU 2.80GHz, с 2 ГБ RAM она занимает 45 минут.

Хорошая вещь об этом весь опыт, что мы больше готовых к переходу нашего компьютерного центра для поддержки высокой доступности для MySQL.

Популярность: 2%



Тегами, как:

Пожалуйста, введите комментарий

Обратите внимание на следующее:
Комментарии модерируется, поэтому он может принять в издаются. Нет необходимости повторять его комментарии.
Электронной почты никогда не будет раскрыта.

Условия поиска


  • Ограничения MySQL
  • MySQL размер записи
  • Таблица полные данные
  • Введите значения в таблице полной
  • полную таблицу MySQL
  • MySQL таблица полной
  • пример того, как полная gundbaund журнала
  • MySQL полная таблица
  • Из подготовленного заявления с MySQL
  • MySQL Table полной
  • таблица, которая заполняется 1
  • MySQL MAX_ROWS
  • ROW_FORMAT
  • MySQL переименовать таблицу
  • восстановить MySQL 4 ГБ
  • проблемы с таблицей, содержащей один миллион записей
  • Проблема MySQL таблиц с более чем 1 миллион записей
  • проблемы с MySQL MyISAM
  • восстановление БД MySQL проблема выиграть 64
  • MySQL ROW_FORMAT
  • MySQL Table полной
  • MySQL миллиона записей
  • MySQL таблица полной
  • ROW_FORMAT = динамический; MyISAM
  • SHOW TABLE STATUS LIKE \ таблицы \
  • Таблица полном MySQL Ubuntu
  • Таблица полном MySQL InnoDB
  • MySQL Table размера WINDOWSXP
  • см. пример таблицы данных заполнены
  • размера таблиц MySQL
  • MySQL является полная таблица
  • MyISAM таблиц больше 4 Гб
  • заполнить таблиц MySQL
  • MySQL таблица показывает статус таблица размеров
  • Существо ручками таблиц
  • Существо таблиц
  • MySQL таблица 2 миллиона записей
  • MySQL полная таблица
  • полная таблица данных пользователя
  • MySQL является полная таблица
  • полная таблица
  • MySQL Ошибка в таблице
  • MySQL таблица может поддерживать два миллиона записей
  • MySQL InnoDB Data_free Auto_increment
  • создать таблицу ручками руководство
  • Ошибка: таблица является полным
  • MySQL Ошибка переименования элементов таблицы
  • MySQL таблиц ошибка версии
  • Ошибка базы данных MySQL, полная
  • Пример ошибки таблицы
  • образца на статический MyISAM таблицы
  • пример того, как полная регистрация Gunbound
  • где под полную базу данных
  • Доски Существо рукав
  • Индекс создать полную таблицу
  • Запуск MySQL таблиц
  • в виде таблицы полной
  • как постукивает млн. записей в MySQL
  • Изменение MySQL InnoDB MyISAM
  • полная база данных MySQL