Quería echar un vistazo a MySQL 5.6 en Ubuntu 14.04 solo por curiosidad. Y según este artículo , ciertamente parecía que la instalación debería ser simple y directa. Así que encendí un micro servidor AWS EC2 que ejecuta Ubuntu 14.04 (64 bits), inicié sesión en mi instancia original (a través de PuTTY) y emití los siguientes comandos:
$ sudo apt-get update
$ sudo apt-get build-dep mysql-server-5.6
$ sudo apt-get install mysql-server-5.6
(Los primeros dos comandos fueron movimientos de desesperación, ya que simplemente correr apt-get install
solo no había funcionado previamente. Pero incluso con los tres comandos, el paso de instalación aún no funcionó).
En el punto en el que esperaba, según el artículo mencionado anteriormente, ver esta salida del comando final:
mysql start/running, process 2355
Setting up libhtml-template-perl (2.95-1) ...
Setting up mysql-common-5.6 (5.6.16-1~exp1) ...
Processing triggers for libc-bin (2.19-0ubuntu6) ...
Processing triggers for ureadahead (0.100.0-16) ...
Tengo esto en su lugar:
start: Job failed to start
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error processing package mysql-server-5.6 (--configure):
subprocess installed post-installation script returned error exit status 1
Setting up libhtml-template-perl (2.95-1) ...
Setting up mysql-common-5.6 (5.6.16-1~exp1) ...
Processing triggers for libc-bin (2.19-0ubuntu6) ...
Processing triggers for ureadahead (0.100.0-16) ...
Errors were encountered while processing:
mysql-server-5.6
E: Sub-process /usr/bin/dpkg returned an error code (1)
¿Alguien puede ver lo que salió mal?
14.04
mysql
amazon-ec2
WebLearner
fuente
fuente
Respuestas:
El problema que tiene tiene el mismo aspecto que este informe de error . El error al iniciar parece deberse a que la configuración predeterminada de MySQL 5.6 requiere más memoria de la que puede obtener en su microinstancia.
La solución al error parece ser una de las siguientes:
max_connections
variable de MySQLfuente
sudo apt-get install mysql-server-5.6
. Por lo tanto, parece que una micro instancia EC2 no tiene suficiente memoria para instalar MySQL 5.6 usando apt-get.He encontrado el mismo problema cuando inicio mi pequeño VPS. El problema es causado por poca memoria. Entonces, sin gastar dinero extra para aumentar la memoria que no necesitaba, simplemente podría crear archivos de intercambio para ayudar a la instalación. Sí, el intercambio es lento, pero todo lo que necesita es realizar la instalación.
En Ubuntu 14.04, hago lo siguiente para resolver el problema:
Cree un archivo de intercambio 4G:
Cambie su permiso a solo root podría acceder y cambiar:
Hazlo intercambiar:
Activar:
Ahora puede intentar instalar mysql nuevamente, esta vez debería tener éxito. Solo recuerde eliminar la instalación fallida anterior antes de hacerlo.
fuente
Me he encontrado con el mismo problema. Aunque tenía la memoria lo suficientemente grande de 12 Gb dada a mi VM, pero aún así las cosas fallaban como en cuestión. Después de pasar algún tiempo descubrí que a apt get predeterminado le faltaban algunos de los paquetes de traducción de configuración y traducción de herramientas.
El repositorio apto de MySQL proporciona una manera simple y conveniente de instalar y actualizar productos MySQL con los últimos paquetes de software que utilizan
apt-get
. Esto es lo que debes seguir:Agregar el repositorio APT de MySQL Primero, agregue el repositorio apto de MySQL a la lista de repositorios de software de su sistema. Sigue estos pasos:
Vaya a la página de descarga del repositorio apto de MySQL en http://dev.mysql.com/downloads/repo/apt/ .
Seleccione y descargue el paquete de lanzamiento.
Instale el paquete de lanzamiento descargado con el siguiente comando, reemplazando el nombre del paquete específico de la versión con el nombre del paquete descargado (precedido por su ruta, si no está ejecutando el comando dentro de la carpeta donde está el paquete):
Tenga en cuenta que el mismo paquete funciona en todas las plataformas Debian y Ubuntu compatibles.
Actualice la información del paquete desde el repositorio APT de MySQL con el siguiente comando (este paso es obligatorio):
Instalar MySQL con APT
Instala MySQL con el siguiente comando:
Esto instala el paquete para el servidor MySQL, así como los paquetes para el cliente y para los archivos comunes de la base de datos.
Durante la instalación, hay dos solicitudes de los cuadros de diálogo: Proporcione una contraseña para el usuario raíz para su instalación de MySQL.
El servidor MySQL se inicia automáticamente después de la instalación. - Puede verificar el estado del servidor MySQL con el siguiente comando:
Detenga el servidor MySQL con el siguiente comando:
Para reiniciar el servidor MySQL, use el siguiente comando:
Seguí este http://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/#apt-repo-fresh-install . Esto funcionó sin problemas y descargó todos los paquetes y se instaló con éxito
mysql 5.6
.fuente
En mi caso he agregado
al
/etc/mysql/my.cnf
fuente
Deshabilitar performance_schema también ahorra mucha memoria. Mi base de datos vacía va de 400 ma 40 m en el inicio:
Documentos de MySQL: http://dev.mysql.com/doc/refman/5.6/en/performance-schema.html
fuente
Encontré este problema en Ubuntu 15.10. Para mí no fue un problema de memoria (tengo 2 GB de RAM y 18 GB de intercambio, de los cuales solo se utilizaron unos 300 MB en total).
En mi caso,
dpkg
estaba buscando/etc/mysql/conf.d
, que no existía (¡pero/etc/mysql/mysql.conf.d
sí!). Reinstalar mysql y crear manualmente la carpeta/etc/mysql/conf.d
resolvió mi problema.¿Cómo sucedió esto exactamente? No tengo idea. Casi no quería compartir mi respuesta, ya que apuesto a que esta solución es específica para mi computadora.
Resolví este problema usando la utilidad
strace
, que es fantástica para este tipo de cosas, aunque increíblemente detallada.Lo usé así:
Después de presionar ctrlchasta la mitad
apt-get install mysql-server
, tuve que correrdpkg --configure -a
para terminar la instalación.Me encontré
strace 2>/tmp/trace dpkg --configure -a
. Eso me hizo un buenstrace
registro en/tmp/trace
.Miré a través del registro, especialmente en la parte inferior, donde falló.
Noté que intentó acceder
/etc/mysql/conf.d
, y obtuve el código de error ENOENT, no existe tal archivo o directorio .Para cualquiera que quiera probar esto, haga
strace 2>/tmp/trace (command)
y grep porENOENT
. Como dije, esta solución probablemente sea específica de mi computadora, pero es posible que desee probarla.fuente
En mi caso, todo lo que tenía que hacer era hacer algunos cambios
my.cnf
y simplemente eliminar 2 archivos de registro con el nombreib_logfile0
yib_logfile1
, y comenzar mysqlNo es necesario reinstalar mysql, simplemente elimine estos 2 archivos de registro y reinicie el servidor mysql
A continuación los cambios que hice en
my.cnf
:fuente