[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

mysql: восстановление из *.MYI ошибка "Not enough memory"



После переезда на новый сервер пробую восстановить базу mysql из "файлов" (дампа нет):

Создал такие же "базу / пользователя / пассворд" (drupal:drupal)

Скопировал в /var/lib/mysql/drupal/ старые файлы (MYD, MYI, frm - все что было, 160 штук)
Сделал chown -c -R mysql:mysql *

Теперь пытаюсь избавиться от ошибок:

1.
myisamchk  --safe-recover -o -f /var/lib/mysql/drupal/*.MYI
отрабатывает без ошибок, по при старте mysql ругается:

# /etc/init.d/mysql start
Starting MySQL database server: mysqld.
Checking for corrupt, not cleanly closed and upgrade needing tables..

2.
если добавить ключ "-e", говорит что надо 1gb(?) памяти, если я правильно нули посчитал:

myisamchk  --safe-recover -f -e /var/lib/mysql/drupal/*.MYI

myisamchk: error: Not enough memory for blob at 2164 (need 909520434)
MyISAM-table '/var/lib/mysql/drupal/watchdog.MYI' is not fixed because of errors Try fixing it by using the --safe-recover (-o), the --force (-f) option or by not using the --quick (-q) flag

В конфиге 64, но пробовал и
max_allowed_packet = 1900M
key_buffer = 1900M

в системе свободной памяти 2gb.

3.
тоже не помогло:
mysqlcheck -p --all-databases


Обобщая: ошибка "Not enough memory" возникает только с ключом -e,
без этого ключа с --safe-recover или с --force или с обоими - ошибок нет, но и база не лечится.


Вопросы:
Действительно ли нужен ключ "-e", что бы вылечить базу ?
Возможно ли что проблема из-за разных версий mysql ?
Что еще можно попробовать ?


--
Sincerely,
	Nicholas


Reply to: