Instale MySql 5.6 en Ubuntu 16.04


40

Parece que Ubuntu 16.04 viene con MySQL 5.7, sin embargo, necesito instalar 5.6.

Cuando intento instalarlo explícitamente sudo apt-get install mysql-server-5.6, aparece el siguiente error:

Package mysql-server-5.6 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  mysql-community-server:i386 mysql-common:i386 mysql-community-server mysql-common percona-xtradb-cluster-server-5.6:i386 percona-server-server-5.6:i386 mysql-testsuite-5.7:i386
  mariadb-server-10.0:i386 percona-xtradb-cluster-server-5.6 percona-server-server-5.6 mysql-testsuite-5.7 mariadb-server-10.0 mysql-server-core-5.7:i386 mysql-server-5.7:i386 mysql-server-core-5.7
  mysql-server-5.7

¿Hay alguna forma de instalar 5.6?


Ese mysql 5.7.12 es un cerdo RAM.
Dibs

Respuestas:


69

Usé el siguiente enfoque:

sudo add-apt-repository 'deb http://archive.ubuntu.com/ubuntu trusty universe'
sudo apt-get update
sudo apt install mysql-server-5.6 mysql-client-5.6

Si se produce un error durante la ejecución del último comando, eche un vistazo a la sección de comentarios de esta respuesta.


10
Es posible que necesite sudo rm /var/lib/mysql/debian-5.7.flago Sub-process /usr/bin/dpkg returned an error code (1)
abortará

2
El servicio mysql no se inicia correctamente. usando 'systemctl status mysql.service' me sale 'Error al iniciar LSB: iniciar y detener el demonio del servidor de base de datos mysql'. ¿Es esto porque el repositorio de Trusty usa upstart y 5.7 usa systemd?
jowan sebastian

1
@jowansebastian - ¿Alguna vez descubriste por qué sucedía esto? Estoy teniendo un error similar
Barrie Reader

@BarrieReader, lo siento, creé una máquina virtual centos para lo que estaba haciendo y lo hice funcionar bien allí.
jowan sebastian

+1. ¿Sabría si hay una manera de instalar una versión específica de MySQL 5.6 como 5.6.35?
vphilipnyc

9

Parece que logré hacerlo.

  1. En el repositorio de Software y actualizaciones / Otro software agregado 14.04:

    deb http://archive.ubuntu.com/ubuntu trusty main
    
  2. Cliente y servidor mysql instalados:

    sudo apt install mysql-server-5.6
    sudo apt install mysql-client-5.6
    

Actualización: antes de instalar 5.6, asegúrese de que no haya otros paquetes mysql:

dpkg -l | grep mysql - Devuelve la lista de paquetes mysql.

Úselo apt-get purge <package name>para purgarlos.

Fuente: la actualización 16.04 rompió el servidor mysql


1
Buena solución, pero ¿por qué necesita 5.6 en lugar de 5.7?
Uwe Burger

55
5.7 no es compatible con versiones anteriores. Algunos SQL de aplicación en los que estoy trabajando fallan ...
Tarlog

2
¿Qué error estás recibiendo? Sospecho que se debe al indicador ONLY_FULL_GROUP_BY que está "activado" de forma predeterminada en MySQL 5.7. Póngalo en apagado y puede estar bien.
Jaydee

Actualmente no recuerdo los detalles, lo probé hace casi dos meses. Si no recuerdo mal, se trataba del procesamiento de algunas fechas. Tal vez análisis de fechas.
Tarlog

5.7 realmente aplica el esquema de la tabla
Richard Haven

8

Estaba enfrentando el mismo problema y he realizado los siguientes pasos simples a continuación:

 sudo apt-get install software-properties-common
 $ sudo add-apt-repository -y ppa:ondrej/mysql-5.6
 $ sudo apt-get update
 $ sudo apt-get install mysql-server-5.6

La solución funcionó para mí ¡Salud!


Además de estas soluciones: primero debe eliminar estas carpetas: /etc/mysql/ /var/lib/mysql /var/log/mysql /var/lib/mysql-filters /var/lib/mysql-keyringy este archivo:/var/lib/mysql/debian-5.7.flag

3
Para citar ondrej: "no usar, roto" . Echa un vistazo aquí launchpad.net/~ondrej
Fractalf

3
dpkg --force-depends -P `dpkg -l |awk '/mysql/{print $2}'`

rm -r /etc/mysql/

apt-get install mysql-server mysql-client

1

Los desarrolladores de MySQL proporcionan paquetes Xenial de MySQL 5.6 en sus propios repositorios , y esto debería preferirse a instalar los paquetes oficiales de Ubuntu Trusty , ya que en general es mejor instalar paquetes que fueron creados para su versión de Ubuntu.

Si ya tiene paquetes de MySQL Server, primero debe desinstalarlos; simplemente desinstale todo lo que muestra dpkg -l | grep mysql-server.

Simplemente descargue e instale el mysql-apt-configpaquete DEB en el enlace anterior. Durante la instalación, le preguntará qué versión desea, para que pueda elegir 5.6. Una vez que el paquete haya terminado de instalarse, sudo apt update && sudo apt install mysql-server-5.6instalará MySQL Server 5.6.


3
Esto no funciona, no hay una opción de versión 5.6, solo 5.7
Frodik

55
De hecho, parece que, dado que esta respuesta fue escrito, MySQL 5.6 apoyo fue retirado del mysql-apt-configpaquete, lo cual es raro porque sigue apareciendo como el apoyo en la página del enlace ...
fkraiem

1

Tuve el mismo problema y probé muchas opciones. Y tuve muchos problemas con libdbd-mysql-perl; el sistema dijo que no iba a instalar esa biblioteca.

Entonces pensé instalarlo con Aptitude que instala un paquete y corrige todas las dependencias.

Si no tienes aptitud, puedes obtenerla así:sudo apt-get install aptitude

Primero todo lo que necesitas para desinstalar tu mysql existente. A continuación, debe instalar el paquete que desee.

sudo aptitude install mysql-server-5.6

La aptitud te da muchas opciones, qué hacer. Las primeras opciones son mantener el paquete real. Entonces presione (N) o hasta que encuentre la opción que dice degradar los siguientes paquetes:

libmysqlclient20 [5.7.14-1ubuntu16.04 (<NULL>, now) -> 5.7.13-0ubuntu0.16
mysql-common [5.7.14-1ubuntu16.04 (<NULL>, now) -> 5.6.30-1+deb.sury.org

luego presione (Y) es y aptitude instalará mysql-server-5.6. Aquí está la opción que debe aceptar:

ingrese la descripción de la imagen aquí

Si después de eso el sistema no puede conectarse al servidor mysql, debe reiniciar su computadora.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.