2011-12-20 4 views
0

У меня проблема с запуском сервера MySql. Журнал говорит:Не удается запустить сервер MySql

InnoDB: Error in opening ./ibdata1 
111220 16:16:43 InnoDB: Operating system error number 11 in a file operation. 
InnoDB: Error number 11 means 'Resource temporarily unavailable'. 
InnoDB: Some operating system error numbers are described at 
InnoDB: http://dev.mysql.com/doc/refman/5.0/en/operating-system-error-codes.html 
InnoDB: Could not open or create data files. 
InnoDB: If you tried to add new data files, and it failed here, 
InnoDB: you should now edit innodb_data_file_path in my.cnf back 
InnoDB: to what it was, and remove the new ibdata files InnoDB created 
InnoDB: in this failed attempt. InnoDB only wrote those files full of 
InnoDB: zeros, but did not yet use them in any way. But be careful: do not 
InnoDB: remove old data files which contain your precious data! 
/usr/libexec/mysqld: Disk is full writing './mysql-bin.000028' (Errcode: 28). Waiting for someone to free space... Retry 
in 60 secs 

После того как я проверить диск - это говорит, что это полная. Итак, после поиска решения - я обнаружил, что мне нужно очистить двоичный журнал. Однако, чтобы очистить - мне нужно запустить сервер MySql, но все пространство на диске берется двоичным журналом, поэтому я не могу запустить ... Также не рекомендуется просто удалять двоичные журналы. Итак, я как бы застрял. Не удается запустить mysql для очистки журналов и не может очищать журналы, потому что не может запускать сервер. Любая помощь? :)

Редактировать: диск содержит только журналы, ничего больше.

+0

Есть ничего другого на диске вы можете переместить Somwhere еще временно? –

ответ

0

Если диск внутр [2 | 3 | 4] можно использовать tune2fs, чтобы установить часть диска, отведенные для корня до 0, давая вам, может быть, достаточно передышку, чтобы запустить сервер

это будет tune2fs -m 0/dev/whatever (после размонтирования, конечно)

+0

Спасибо, но это не так. – Yuri

0

Попробуйте запустить сервер mysql с параметром --expire_logs_days =, при запуске он должен удалить журнал и папку старше, чем дни.

свиданья Джанлука

+0

Спасибо, но похоже, что --expire_logs_days просто определяет частоту, с которой катятся журналы. Но он не заставит mysql немедленно свернуть журналы. – Yuri

+0

Ну, отчет о документации: «Возможные удаления происходят при запуске и когда двоичный журнал очищается». Поэтому я предполагаю, что если вы используете что-то вроде mysqld --expire_log_days = 10, то удалите все файлы binlog старше 10 дней – Gianluca

+0

Возможно это происходит после запуска, но поскольку запуск не выполняется, он не влияет. – Yuri

Смежные вопросы