Установка MySQL завершается с ошибкой

Я пытаюсь установить MySQL на Raspbian Jessie. На другой машине с идентичной настройкой все прошло гладко, однако на второй машине у меня ничего не получается.

Во время настройки пакета мне предлагается ввести пароль, и после некоторого ожидания я получаю:

┌─────────────────────────────────────┤ Configuring mysql-server-5.5 ├──────────────────────────────────────┐    
│                                                                                                           │    
│ Unable to set password for the MySQL "root" user                                                          │    
│                                                                                                           │    
│ An error occurred while setting the password for the MySQL administrative user. This may have happened    │    
│ because the account already has a password, or because of a communication problem with the MySQL server.  │    
│                                                                                                           │    
│ You should check the account's password after the package installation.                                   │    
│                                                                                                           │    
│ Please read the /usr/share/doc/mysql-server-5.5/README.Debian file for more information.                  │    
│                                                                                                           │    
│                                                  <Ok>                                                     │    
│                                                                                                           │    
└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘    

Покопавшись немного глубже, я обнаружил, что эта ошибка вызвана тем, что MySQL не удалось запустить. Я просмотрел /var/log/mysql/error.log, в котором есть следующие записи:

161217 23:33:16 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
161217 23:33:16 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.
161217 23:33:17 [Note] /usr/sbin/mysqld (mysqld 5.5.53-0+deb8u1) starting as process 16476 ...
161217 23:33:17 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead.
161217 23:33:17 [Note] Plugin 'FEDERATED' is disabled.
161217 23:33:17 InnoDB: The InnoDB memory heap is disabled
161217 23:33:17 InnoDB: Mutexes and rw_locks use GCC atomic builtins
161217 23:33:17 InnoDB: Compressed tables use zlib 1.2.8
161217 23:33:17 InnoDB: Using Linux native AIO
161217 23:33:17 InnoDB: Initializing buffer pool, size = 128.0M
161217 23:33:17 InnoDB: Completed initialization of buffer pool
InnoDB: Error: auto-extending data file ./ibdata1 is of a different size
InnoDB: 0 pages (rounded down to MB) than specified in the .cnf file:
InnoDB: initial 640 pages, max 0 (relevant if non-zero) pages!
161217 23:33:17 InnoDB: Could not open or create data files.
161217 23:33:17 InnoDB: If you tried to add new data files, and it failed here,
161217 23:33:17 InnoDB: you should now edit innodb_data_file_path in my.cnf back
161217 23:33:17 InnoDB: to what it was, and remove the new ibdata files InnoDB created
161217 23:33:17 InnoDB: in this failed attempt. InnoDB only wrote those files full of
161217 23:33:17 InnoDB: zeros, but did not yet use them in any way. But be careful: do not
161217 23:33:17 InnoDB: remove old data files which contain your precious data!
161217 23:33:17 [ERROR] Plugin 'InnoDB' init function returned error.
161217 23:33:17 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
161217 23:33:17 [ERROR] Unknown/unsupported storage engine: InnoDB
161217 23:33:17 [ERROR] Aborting

161217 23:33:17 [Note] /usr/sbin/mysqld: Shutdown complete

161217 23:33:18 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

Это не обновление, а свежая установка (кроме этого, я пробовал установить MySQL несколько раз, очищая mysql-server-5.5 между попытками).

Следует упомянуть, однако, что при первой попытке у меня закончилось место на диске (корневой раздел был где-то не более 2 ГБ). Я попытался исправить это, заменив SD-карту на 2 ГБ картой на 16 ГБ, dd'ing содержимое старой карты на новую и расширив раздел. И все же я не могу заставить ее работать, в то время как первая система (которая с самого начала имела карту на 4 ГБ) работала просто отлично. В чем здесь проблема, и как я могу ее решить?

0
18.12.2016, 00:54
1 ответ

По всей видимости, проблема была вызвана нехваткой места для хранения во время первой попытки: MySQL попытался создать файл данных, который не удался из-за недостатка места и оставил после себя поврежденный файл данных, а также файл конфигурации, указывающий на него. .

IIRC Моя первая попытка заключалась в sudo apt-get remove MySQL и переустановке, в результате чего остались неверный файл данных и конфигурация, поэтому при следующей установке они были обнаружены и завершились сбоем.

Очевидно, даже последующая sudo apt-get purge mysql-server-5.5 не удалила эти элементы. Следующая последовательность команд наконец-то сработала для меня:

sudo apt-get purge mysql-server-5.5
sudo rm -R /etc/mysql
sudo rm -R /var/lib/mysql
sudo apt-get install mysql-server

После этого появился MySQL, и я смог войти в консоль MySQL.

Важно: это приведет к УДАЛЕНИЮ всех без исключения данных MySQL в вашей системе. Делайте это только при новой установке или если вы знаете о последствиях.

2
28.01.2020, 02:34

Теги

Похожие вопросы