Невозможно установить MySQL 5.7 на сервер без учетной записи root

Я использую хостинг-сервер, который не предоставляет мне корневую учетную запись. Они не предоставляют мне услуги по установке базы данных. Сервер — Red Hat Enterprise Linux Server версии 6.1 (Сантьяго) x86_64.

Я попытался загрузить и установить MySQL 5.7.10, но он показывает мне ошибки, касающиеся установки InnoDB, как показано ниже:

[hoge@blackett mysql]$ ./bin/mysqld --initialize --basedir=/home/hoge/mysql --character-set-server=utf8
2016-01-27T14:20:51.751550Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5000)
2016-01-27T14:20:51.751921Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2016-01-27T14:20:52.148092Z 0 [Warning] InnoDB: io_setup() failed with EAGAIN. Will make 5 attempts before giving up.
2016-01-27T14:20:52.148146Z 0 [Warning] InnoDB: io_setup() attempt 1.
2016-01-27T14:20:52.658080Z 0 [Warning] InnoDB: io_setup() attempt 2.
2016-01-27T14:20:53.168026Z 0 [Warning] InnoDB: io_setup() attempt 3.
2016-01-27T14:20:53.676057Z 0 [Warning] InnoDB: io_setup() attempt 4.
2016-01-27T14:20:54.181090Z 0 [Warning] InnoDB: io_setup() attempt 5.
2016-01-27T14:20:54.687086Z 0 [ERROR] InnoDB: io_setup() failed with EAGAIN after 5 attempts.
2016-01-27T14:20:54.687174Z 0 [ERROR] InnoDB: Cannot initialize AIO sub-system
2016-01-27T14:20:54.687194Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
2016-01-27T14:20:54.687208Z 0 [ERROR] Plugin 'InnoDB' init function returned error.
2016-01-27T14:20:54.687215Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2016-01-27T14:20:54.687223Z 0 [ERROR] Failed to initialize plugins.
2016-01-27T14:20:54.687229Z 0 [ERROR] Aborting

Я также сделал следующее:

cp ./support-files/my-default.cnf ~/my.cnf

Я попробовал следующую команду, но она выдает те же ошибки:

[hoge@blackett mysql]$ ./bin/mysqld --initialize --character-set-server=utf8 --basedir=/home/hoge/mysql --defaults-file=/home/hoge/my.cnf

Я написал следующее в my.cnf, но не решает ошибку:

innodb_use_native_aio = 0

У меня нет идей, чтобы решить их. Не могли бы вы мне помочь?


person Iwao Nishida    schedule 27.01.2016    source источник
comment
У вас есть хостинг-аккаунт без базы данных? Похоже, вы знаете достаточно, чтобы просто получить учетную запись AWS и настроить ее самостоятельно.   -  person eggmatters    schedule 28.01.2016
comment
Нет, клиент не хочет пользоваться другими услугами.   -  person Iwao Nishida    schedule 28.01.2016
comment
Попробуйте использовать sqlite в своем приложении, если вам нужна настойчивость. Или скажите своим клиентам, насколько вы обессилены, и что у них не будет приложения, если вы не можете получить доступ к базе данных.   -  person eggmatters    schedule 28.01.2016


Ответы (2)


Возможно...

В системах Linux запуск нескольких серверов MySQL (обычно более 12) с настройками по умолчанию для innodb_read_io_threads, innodb_write_io_threads и параметром Linux aio-max-nr может превысить системные ограничения. В идеале увеличьте значение параметра aio-max-nr; в качестве обходного пути вы можете уменьшить параметры одного или обоих параметров конфигурации MySQL.

-- http://bugs.mysql.com/bug.php?id=61575

person Rick James    schedule 28.01.2016

Я сам решил проблему.

Документ https://dev.mysql.com/doc/refman/5.7/en/data-directory-initialization-mysqld.html говорит

параметр --defaults-file должен быть первым

Когда я набрал ./bin/mysqld --defaults-file=/home/hoge/my.cnf --initialize --character-set-server=utf8 --basedir=/home/hoge/mysql, файл опций был распознан.

Другим решением является указание параметра --innodb_use_native_aio=0 напрямую без использования файла параметров my.cnf, как показано ниже:

./bin/mysqld --initialize --basedir=/home/utpsy/mysql --character-set-server=utf8 --innodb_use_native_aio=0
person Iwao Nishida    schedule 01.02.2016