MySql 5.6'yı Ubuntu 16.04'e yükleyin


39

Ubuntu 16.04 MySQL 5.7 ile geliyor gibi görünüyor, ancak 5.6 yüklemem gerekiyor.

Açıkça yüklemeye çalıştığımda sudo apt-get install mysql-server-5.6aşağıdaki hatayı alıyorum:

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

5.6'yı kurmanın bir yolu var mı?


Bu mysql 5.7.12 bir RAM domuzudur.
dibs

Yanıtlar:


68

Aşağıdaki yaklaşımı kullandım:

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

Son komutun yürütülmesi sırasında bir hata olursa, bu cevabın yorum bölümüne bir göz atın.


10
Şunlar gerekebilir sudo rm /var/lib/mysql/debian-5.7.flagya da iptal edecekSub-process /usr/bin/dpkg returned an error code (1)
xxjjnn

2
MySQL hizmeti düzgün başlamıyor. 'systemctl status mysql.service' kullanarak 'alıyorum' LSB başlatılamadı: mysql veritabanı sunucusu arka planını başlat ve durdur '. Bunun nedeni Trusto repo'nun starttart'ı ve 5.7'nin systemd'yi kullanması mı?
jowan sebastian

1
@jowansebastian - Bunun neden olduğunu hiç öğrendiniz mi? Ben de benzer bir hata yaşıyorum.
Barrie Reader

@BarrieReader üzgünüm, yaptığım şey için bir centos VM oluşturdum ve orada iyi çalışmasını sağladım.
jowan sebastian

+1. MySQL 5.6 gibi belirli bir sürümü 5.6.35 gibi yüklemenin bir yolu olup olmadığını biliyor musunuz?
vphilipnyc

9

Görünüşe göre yapmayı başardım.

  1. In Yazılım & Güncellemeler / Diğer Yazılım 14.04 depo ekledi:

    deb http://archive.ubuntu.com/ubuntu trusty main
    
  2. Yüklü mysql istemcisi ve sunucusu:

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

Güncelleme: 5.6'yı yüklemeden önce, başka hiçbir mysql paketinin bulunmadığından emin olun:

dpkg -l | grep mysql - MySQL paketlerinin listesini döndürür.

apt-get purge <package name>Onları temizlemek için kullanın .

Kaynak: 16.04 yükseltme mysql-server kırdı


1
İyi bir çözüm, ama neden 5.7 yerine 5.6'ya ihtiyacınız var?
Uwe Burger

5
5.7 geriye dönük uyumlu değildir. Çalıştığım uygulamanın bazı
SQL'leri

2
Hangi hatayı alıyorsun? MySQL 5.7'de varsayılan olarak "açık" olan ONLY_FULL_GROUP_BY bayrağından kaynaklandığından şüpheleniyorum. Kapalı olarak ayarlayın, iyi olabilirsiniz.
Jaydee,

Şu anda detayları hatırlamıyorum, neredeyse iki ay önce denedim. Doğru hatırlıyorsam, bazı işlemlerle ilgiliydi. Belki tarihleri ​​ayrıştırmak.
Tarlog

5.7 aslında masa şemasını uygulamaktadır
Richard Haven,

8

Aynı sorunla karşı karşıyaydım ve aşağıdaki basit adımları attım:

 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

Çözüm benim için çalıştı Şerefe!


Bu çözümlere ek olarak: Önce bu klasörleri kaldırmanız gerekir: /etc/mysql/ /var/lib/mysql /var/log/mysql /var/lib/mysql-filters /var/lib/mysql-keyringVe bu dosya:/var/lib/mysql/debian-5.7.flag

3
Ondrej'den alıntı yapmak için : "kullanmayın, kırmayın" . Buradan göz atın 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

MySQL geliştiricileri de MySQL 5.6 arasında Xenial paketleri sağlamak kendi depoları , ve bu nedenle resmi Ubuntu Trusty paketlerin yüklenmesi tercih edilmelidir ki Ubuntu sürümü için oluşturulan paketleri yükleme daha iyi genel olarak olduğundan,.

Zaten MySQL Server paketleriniz varsa, önce onları kaldırmalısınız; sadece gösterilen her şeyi kaldırın dpkg -l | grep mysql-server.

mysql-apt-configDEB paketini bir önceki linke indirip kurmanız yeterlidir. Yükleme sırasında, hangi sürümü istediğinizi sorar, böylece 5.6'yı seçebilirsiniz. Paketin kurulumu tamamlandıktan sonra sudo apt update && sudo apt install mysql-server-5.6MySQL Server 5.6'yı kuracaksınız.


3
Bu işe yaramazsa, 5.6 sürüm seçeneği yoktur, yalnızca 5.7
Frodik

5
Gerçekten de, bu cevabın yazıldığı günden beri, MySQL 5.6 desteği mysql-apt-configpaketten kaldırıldı, çünkü tuhaf bir şey, çünkü hala bağlantılı sayfalarda desteklendiği gibi listeleniyor ...
fkraiem

1

Aynı problemi yaşadım ve birçok seçenek denedim. Ve çok fazla sorun yaşadım libdbd-mysql-perl; sistem bu kütüphaneyi kuramayacağını söyledi.

Ben de bir paket yükleyen ve tüm bağımlılıkları düzelten bir Yetenek ile kurmayı düşündüm.

Yeteneğiniz yoksa, böyle alabilirsiniz:sudo apt-get install aptitude

Öncelikle varolan mysql'inizi kaldırmak için ihtiyacınız olan her şey. Sonra istediğiniz paketi yüklemeniz gerekir.

sudo aptitude install mysql-server-5.6

Yetenek size ne yapılacağı konusunda birçok seçenek sunar. İlk seçenek asıl paketi saklamaktır. Bir sonraki paketleri düşürecek seçeneği bulana kadar (N) o tuşuna basın:

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

daha sonra (Y) es tuşuna basın, yetenek mysql-server-5.6'yı yükleyecektir. İşte kabul etmeniz gereken seçenek:

görüntü tanımını buraya girin

Bundan sonra sistem mysql sunucusuna bağlanamıyorsa, bilgisayarınızı yeniden başlatmanız gerekir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.