
Estoy intentando instalar MySQL en Raspbian Jessie. Esto funcionó sin problemas en otra máquina con una configuración idéntica; sin embargo, en el segundo no consigo que funcione.
Durante la configuración del paquete, se me solicita una contraseña y, después de esperar un poco, aparece:
┌─────────────────────────────────────┤ 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> │
│ │
└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘
Profundizando un poco más, descubrí que este error se debió a que MySQL no se pudo iniciar. Examiné /var/log/mysql/error.log
, que tiene las siguientes entradas:
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
Esto no es una actualización sino una instalación nueva (aparte de eso, intenté instalar MySQL un par de veces, purgando mysql-server-5.5
entre intentos).
Debo mencionar, sin embargo, que me quedé sin espacio de almacenamiento en el primer intento (la partición raíz tenía menos de 2 GB). Intenté solucionar este problema reemplazando la tarjeta SD de 2 GB por una tarjeta de 16 GB, dd
transfiriendo el contenido de la anterior a la nueva y extendiendo la partición. Todavía no puedo hacerlo funcionar, mientras que el primer sistema (que tenía una tarjeta de 4 GB desde el principio) funcionó bien. ¿Cuál es el problema aquí y cómo puedo solucionarlo?
Respuesta1
Aparentemente, el problema fue causado por la falta de espacio de almacenamiento durante el primer intento: MySQL intentó crear un archivo de datos, pero falló debido a la falta de espacio y dejó un archivo de datos corrupto, así como un archivo de configuración que apuntaba a él.
IIRC, mi primer intento fue instalar sudo apt-get remove
MySQL y reinstalarlo, lo que dejó atrás el archivo de datos y la configuración defectuosos, por lo que la siguiente instalación lo retomaría y fallaría de la misma manera.
Al parecer, ni siquiera el posterior sudo apt-get purge mysql-server-5.5
eliminó estos elementos. La siguiente secuencia de comandos finalmente funcionó para mí:
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
Después de eso, apareció MySQL y pude iniciar sesión en la consola MySQL.
Importante: Esto BORRARÁ permanentemente todos y cada uno de los datos de MySQL en su sistema. Haga esto sólo en una instalación nueva o si conoce las consecuencias.