MySQL виснет при инициализации

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Abyrvalg
мл. сержант
Сообщения: 129
Зарегистрирован: 2009-03-04 10:24:44

MySQL виснет при инициализации

Непрочитанное сообщение Abyrvalg » 2017-02-28 23:17:08

Привет тебе, достопочтимый All!

Есть свежепоставленная FreeBSD 11.0-RELEASE-p1 (amd64). Поставил из портов MySQL 5.7.

Код: Выделить всё

$ mysql -V
mysql  Ver 14.14 Distrib 5.7.17, for FreeBSD11.0 (amd64) using  EditLine wrapper
В соответствии с мануалем пытаюсь проинициализировать каталог с данными. Однако тут меня ждут вилы. Все попытки сделать это заканчиваются тем, что процесс mysqld намертво виснет. В консоль и в логи ничего не пишет. Загрузка 100%.

Я пытался запускать его и вручную, и невручную, по-всякому. Одна из последних попыток:

Код: Выделить всё

$ sudo /usr/local/bin/mysql_install_db --defaults-extra-file=/usr/local/etc/mysql/my.cnf --basedir=/usr/local --datadir=/var/db/mysql --mysqld-file=/usr/local/libexec/mysqld --user=mysql
2017-02-28 21:04:11 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
2017-02-28 21:04:41 [WARNING] select() timed out.
после чего он висит, висит, висит... В top'е можно наблюдать вызванный им процесс mysqld, отжирающий 100% времени процессорного ядра.
(Разумеется, я пробовал и mysqld --initialize. Это всё один хрен.)

Содержимое /var/db/mysql в это время таково:

Код: Выделить всё

$ ll /var/db/mysql
total 123016
drwxr-xr-x   2 mysql  mysql   512B 28 февр. 21:04 ./
drwxr-xr-x  21 root   wheel   1,0K 28 февр. 17:08 ../
-rw-r-----   1 mysql  mysql    48M 28 февр. 21:04 ib_logfile0
-rw-r-----   1 mysql  mysql    48M 28 февр. 21:04 ib_logfile1
-rw-r-----   1 mysql  mysql    12M 28 февр. 21:04 ibdata1
-rw-r-----   1 mysql  mysql    12M 28 февр. 21:04 ibtmp1
То есть, подкаталог mysql, где должна храниться одноимённая база данных, не создан.

Если подцепиться к mysqld с помощью truss'а, то видно такое:

Код: Выделить всё

...
gettimeofday({ 1488309978.220585 },0x0)          = 0 (0x0)
_umtx_op(0x801e93128,UMTX_OP_WAIT_UINT_PRIVATE,0x0,0x18,0x7fffde7f1d28) ERR#60 'Operation timed out'
gettimeofday({ 1488309978.480883 },0x0)          = 0 (0x0)
_umtx_op(0x801e93140,UMTX_OP_WAIT_UINT_PRIVATE,0x0,0x18,0x7fffde5f0af8) ERR#60 'Operation timed out'
clock_gettime(13,{ 1488309979.000000000 })       = 0 (0x0)
gettimeofday({ 1488309979.221459 },0x0)          = 0 (0x0)
_umtx_op(0x801e93128,UMTX_OP_WAIT_UINT_PRIVATE,0x0,0x18,0x7fffde7f1d28) ERR#60 'Operation timed out'
gettimeofday({ 1488309979.526529 },0x0)          = 0 (0x0)
_umtx_op(0x801e93140,UMTX_OP_WAIT_UINT_PRIVATE,0x0,0x18,0x7fffde5f0af8) ERR#60 'Operation timed out'
clock_gettime(13,{ 1488309980.000000000 })       = 0 (0x0)
gettimeofday({ 1488309980.259237 },0x0)          = 0 (0x0)
clock_gettime(13,{ 1488309980.000000000 })       = 0 (0x0)
gettimeofday({ 1488309980.387943 },0x0)          = 0 (0x0)
_umtx_op(0x801e93128,UMTX_OP_WAIT_UINT_PRIVATE,0x0,0x18,0x7fffde7f1d28) ERR#60 'Operation timed out'
gettimeofday({ 1488309980.558098 },0x0)          = 0 (0x0)
_umtx_op(0x801e93140,UMTX_OP_WAIT_UINT_PRIVATE,0x0,0x18,0x7fffde5f0af8) ERR#60 'Operation timed out'
...
и так до бесконечности.

Что делать? Как быть? MySQL нужен, а не работает, гад.

Отправлено спустя 15 минут 45 секунд:
Вдогонку. Прервал процесс, создал каталог /var/db/mysql/mysql вручную (а вдруг поможет?..) и запустил руками:

Код: Выделить всё

sudo mysqld_safe --user=mysql &
В логах:

Код: Выделить всё

$ tail -F /var/log/mysql-error.log
2017-02-28T19:33:24.710455Z 0 [Note] InnoDB: Completed initialization of buffer pool
2017-02-28T19:33:24.730169Z 0 [Note] InnoDB: Highest supported file format is Barracuda.
2017-02-28T19:33:24.730318Z 0 [Note] InnoDB: The user has set SRV_FORCE_NO_LOG_REDO on, skipping log redo
2017-02-28T19:33:24.733905Z 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"
2017-02-28T19:33:24.733957Z 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2017-02-28T19:33:24.734103Z 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2017-02-28T19:33:24.944501Z 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
2017-02-28T19:33:24.946012Z 0 [Note] InnoDB: 1 redo rollback segment(s) found. 1 redo rollback segment(s) are active.
2017-02-28T19:33:24.946054Z 0 [Note] InnoDB: 32 non-redo rollback segment(s) are active.
2017-02-28T19:33:24.946327Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
На этой последней строчке всё и кончилось. В списке процессов виден вот такой процесс:

Код: Выделить всё

/usr/local/libexec/mysqld --basedir=/usr/local --datadir=/var/db/mysql/ --plugin-dir=/usr/local/lib/mysql/plugin --user=mysql --log-error=/var/log/mysql-error.log --pid-file=/var/db/mysql//server.com.pid --socket=/tmp/mysql.sock --port=3306
который жрёт 100%...

Отправлено спустя 31 минуту 17 секунд:
Отбой. Я дурак.
В конфиге был выставлен innodb_force_recovery со страшным значением. Забыл прибить его, когда восстанавливал предыдущую базу.
Теперь всё захорошело. Спасибо всем, кто это прочитал :)
Последний раз редактировалось f_andrey 2017-03-01 2:58:06, всего редактировалось 1 раз.
Причина: Автору. пожалуйста, выбирайте соответствующий раздел форума.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

MySQL виснет при инициализации

Непрочитанное сообщение Alex Keda » 2018-03-27 9:08:56

бывает ...
Убей их всех! Бог потом рассортирует...