Cómo instalar mysql en Ubuntu 16.04

8

Estoy siguiendo este tutorial del océano digital para Ubuntu 14.04 para instalar mysql en Ubuntu 16.04 para mis proyectos de Rails. Supuse, tal vez erróneamente, que el procedimiento sería el mismo.

Sin embargo, cuando ejecuto el comando sudo mysql_install_db, recibo el siguiente error:

2016-06-15 18:40:36 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
2016-06-15 18:40:36 [ERROR]   The data directory needs to be specified.

¿Cómo puedo completar la configuración? He seguido con éxito el mismo procedimiento varias veces en el pasado en Ubuntu 14.04.

Jawad Khawaja
fuente
44
¿Qué pasa si haces lo que sugiere mysqld --initialize:?
Jos
2
@Jos Da el siguiente error:mysqld: Can't create directory '/var/lib/mysql/' (Errcode: 17 - File exists) 2016-06-15T14:00:28.483462Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2016-06-15T14:00:28.484374Z 0 [ERROR] Aborting
Jawad Khawaja
2
Probablemente pueda solucionar ese problema eliminando el directorio /var/lib/mysqly volviendo a ejecutar el --initializeproceso.
Jos
1
¡Gracias por eso! Me preocupaba que pudiera causar problemas ya que contenía varios archivos. Pero funcionó. He completado la instalación ahora.
Jawad Khawaja
@Jos Debes publicar tu comentario como respuesta.
Byte Commander

Respuestas:

9

La instalación del servidor MySQL implica aproximadamente tres pasos: 1) desempaquetar el software; 2) crear una base de datos predeterminada; 3) crear un usuario / contraseña por defecto (y almacenarlo en la base de datos).

Si pierde accidentalmente los archivos de la base de datos (generalmente ubicados en /var/lib/mysql ), puede comenzar nuevamente sin reinstalar completamente el paquete del servidor. Esto se hace con el comando mysqld --initialize. Si ejecuta este comando mientras una base de datos ya está en su lugar, informará un error ("El archivo existe") y no intentará sobrescribir la base de datos. Sin embargo, si no está seguro de si el procedimiento de instalación se ha completado correctamente, está bien eliminar el directorio /var/lib/mysqly reiniciar la base de datos.

El --initializeindicador hará que MySQL genere un usuario root y una contraseña aleatoria, que luego se escribe en el archivo de registro. Para más información, ver man mysqld.

Jos
fuente