Есть свежепоставленная 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
Я пытался запускать его и вручную, и невручную, по-всякому. Одна из последних попыток:
Код: Выделить всё
$ 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.
(Разумеется, я пробовал и 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
Если подцепиться к 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
Отправлено спустя 31 минуту 17 секунд:
Отбой. Я дурак.
В конфиге был выставлен innodb_force_recovery со страшным значением. Забыл прибить его, когда восстанавливал предыдущую базу.
Теперь всё захорошело. Спасибо всем, кто это прочитал
