2014-02-11 2 views
1

Я загрузил двоичные файлы mysql, и я пытаюсь выполнить инструкции here для установки. когда я пытаюсь запустить bin/mysqld_safe --user=mysql & команду я получаю следующий результат:Не удается запустить mysqld_safe на linux

40211 19:04:56 mysqld_safe Logging to '/usr/local/mysql/data/irpowerweb.err'.
140211 19:04:56 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
140211 19:04:57 mysqld_safe mysqld from pid file /usr/local/mysql/data/irpowerweb.pid ended

Содержание журнала ошибок является:

140211 19:07:01 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data 
2014-02-11 19:07:02 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 
2014-02-11 19:07:02 19511 [Note] Plugin 'FEDERATED' is disabled. 
2014-02-11 19:07:02 19511 [Note] InnoDB: Using mutexes to ref count buffer pool pages 
2014-02-11 19:07:02 19511 [Note] InnoDB: The InnoDB memory heap is disabled 
2014-02-11 19:07:02 19511 [Note] InnoDB: Mutexes and rw_locks use InnoDB's own implementation 
2014-02-11 19:07:02 19511 [Note] InnoDB: Compressed tables use zlib 1.2.3 
2014-02-11 19:07:02 19511 [Note] InnoDB: Using Linux native AIO 
2014-02-11 19:07:02 19511 [Note] InnoDB: Not using CPU crc32 instructions 
2014-02-11 19:07:02 19511 [Note] InnoDB: Initializing buffer pool, size = 64.0M 
InnoDB: mmap(68370432 bytes) failed; errno 12 
2014-02-11 19:07:02 19511 [ERROR] InnoDB: Cannot allocate memory for the buffer pool 
2014-02-11 19:07:02 19511 [ERROR] Plugin 'InnoDB' init function returned error. 
2014-02-11 19:07:02 19511 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 
2014-02-11 19:07:02 19511 [ERROR] Unknown/unsupported storage engine: InnoDB 
2014-02-11 19:07:02 19511 [ERROR] Aborting 

2014-02-11 19:07:02 19511 [Note] Binlog end 

... 
Shutting down stuff 
... 

2014-02-11 19:07:02 19511 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete 

140211 19:07:02 mysqld_safe mysqld from pid file /usr/local/mysql/data/irpowerweb.pid ended 

Вот my.cnf:

[mysqld] 
innodb_buffer_pool_size = 64M  
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

Я просто хочу, чтобы получить mysql работает в/в. Я попытался установить пакет с помощью yum install mysql-server, загрузив пакеты rpm и не смог запустить его. Я установил простой пакет tar и начал следовать приведенной выше ссылке, но потом снова не смог его запустить.
Поскольку ошибки указаны Cannot allocate memory for the buffer pool Я попытался уменьшить память до 64 м (по умолчанию было 128 м), и это не сработало. Я новичок в этом, я много искал и не понял, как это исправить.

P.S. Если это поможет, я использую ssh для подключения к серверу с низкой памятью (512 МБ памяти без обмена), и я думаю, что это красная шляпа Linux.

+0

Вы можете разместить свой файл 'my.cnf'? –

+0

Система имеет 512 МБ памяти, используя команду 'free', я вижу, что большая часть ее доступна (около 450 МБ), поэтому я думаю, что мне достаточно, чтобы запустить mysql. – atoMerz

+0

Отключите все необходимые вам двигатели и настройте mysqld как можно меньше памяти.Существует множество учебных пособий о том, как это сделать: googling 'low memory mysql' – DanFromGermany

ответ

1

Я нашел свой ответ here. Использовал следующий my.cnf, и он сработал:

[mysqld] 
innodb=OFF 
ignore-builtin-innodb 
skip-innodb 
default-storage-engine=myisam 
default-tmp-storage-engine=myisam 
1

Ваша самая значительная ошибка:

Cannot allocate memory for the buffer pool

Вы должны опустить его в my.cnf.

Когда вы запустите free, mysqld_safe уже завершена, поэтому вам нужно будет контролировать память через другой терминал. Но вполне нормально, что по умолчанию my.cnf будет использовать вашу доступную память. Это одна из причин, по которой Debian не поставляется с конфигурацией my.cnf по умолчанию.

обновление: только в том случае, убедитесь, что:

  • советы Follow MySQL Tuner «s для вашей системы.
  • Убедитесь, что SELinux либо отключен, либо разрешить MySQL
  • Убедитесь, что размер стека достаточно большой, с помощью ulimit -s (вы можете увеличить его: ulimit -s <new_size> или даже ulimit -s unlimited)
+0

Пробовал опускать 'innodb_buffer_pool_size' до 32M, 16M и 8M. первые 2 не удались с длинным журналом ошибок, а последний не сработал с 'InnoDB: Ошибка: pthread_create вернул 11'. – atoMerz

+0

еще несколько вещей, которые вы можете попробовать – Oerd

1

Попробуйте добавить:

[mysqld] 
... 
skip-bdb 
skip-innodb 

Это остановит запуск Berkley DB и InnoDB вообще.

+0

'skip-bdb' - неизвестный параметр, поэтому я удалил его. После этого errlog «2014-02-11 19:48:07 5424 [Примечание] Плагин« FEDERATED »отключен. 2014-02-11 19:48:07 5424 [Примечание] Плагин 'InnoDB' отключен. 2014-02-11 19:48:07 5424 [ERROR] Неизвестный/неподдерживаемый движок хранения: InnoDB 2014-02-11 19:48:07 5424 [ERROR] Отмена ' – atoMerz

+0

Вы отключили все другие параметры конфигурации innodb ? – mikea

+0

Я сделал это и по-прежнему ту же ошибку: 'Неизвестный/неподдерживаемый движок хранения: InnoDB'. – atoMerz