Instal MySql 5.6 di Ubuntu 16.04

40

Sepertinya Ubuntu 16.04 datang dengan MySQL 5.7, namun saya harus menginstal 5.6.

Ketika saya mencoba untuk menginstalnya secara eksplisit sudo apt-get install mysql-server-5.6saya mendapatkan kesalahan berikut:

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

Apakah ada cara untuk menginstal 5.6?

Tarlog
sumber
Mysql 5.7.12 adalah babi RAM.
dibs

Jawaban:

69

Saya menggunakan pendekatan berikut:

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

Jika kesalahan terjadi selama pelaksanaan perintah terakhir lihat bagian komentar dari jawaban ini.

basex
sumber
10
Anda mungkin perlu sudo rm /var/lib/mysql/debian-5.7.flagatau itu akan dibatalkan denganSub-process /usr/bin/dpkg returned an error code (1)
xxjjnn
2
layanan mysql tidak dimulai dengan benar. menggunakan 'systemctl status mysql.service' I get 'Gagal memulai LSB: Mulai dan hentikan daemon server database mysql'. Apakah ini karena repo Trusty menggunakan pemula dan 5.7 menggunakan systemd?
jowan sebastian
1
@jowansebastian - Apakah Anda pernah tahu mengapa ini terjadi? Saya mengalami kesalahan serupa.
Barrie Reader
@BarrieReader, maaf, saya membuat centos VM untuk apa yang saya lakukan dan membuatnya bekerja dengan baik di sana.
jowan sebastian
+1. Apakah Anda tahu apakah ada cara untuk menginstal versi tertentu dari MySQL 5.6 seperti 5.6.35?
vphilipnyc
9

Sepertinya saya berhasil melakukannya.

  1. Dalam Perangkat Lunak & Pembaruan / Perangkat Lunak Lain menambahkan repositori 14,04:

    deb http://archive.ubuntu.com/ubuntu trusty main
    
  2. Menginstal klien dan server mysql:

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

Pembaruan: Sebelum menginstal 5.6, pastikan tidak ada paket mysql lainnya:

dpkg -l | grep mysql - Mengembalikan daftar paket mysql.

Gunakan apt-get purge <package name>untuk membersihkannya.

Sumber: Pemutakhiran 16.04 merusak server mysql

Tarlog
sumber
1
Solusi yang bagus, tetapi mengapa Anda perlu 5,6 bukannya 5,7?
Uwe Burger
5
5.7 tidak kompatibel mundur. Beberapa SQL aplikasi yang saya kerjakan gagal ...
Tarlog
2
Kesalahan apa yang Anda dapatkan? Saya menduga itu karena flag ONLY_FULL_GROUP_BY yang "aktif" secara default di MySQL 5.7. Nonaktifkan dan Anda mungkin baik-baik saja.
Jaydee
Saat ini saya tidak ingat detailnya, saya mencobanya hampir dua bulan lalu. Jika saya ingat dengan benar, itu tentang beberapa pemrosesan tanggal. Mungkin menguraikan tanggal.
Tarlog
5.7 sebenarnya memberlakukan skema tabel
Richard Haven
8

Saya menghadapi masalah yang sama dan saya telah melakukan langkah-langkah sederhana di bawah ini:

 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

Solusi berhasil buat saya, Ceria !!

Ramesh Chand
sumber
Selain solusi ini: Anda harus menghapus folder ini terlebih dahulu: /etc/mysql/ /var/lib/mysql /var/log/mysql /var/lib/mysql-filters /var/lib/mysql-keyringDan file ini:/var/lib/mysql/debian-5.7.flag
3
Mengutip ondrej: "jangan gunakan, rusak" . Lihat di sini 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
Michal91
sumber
1

Pengembang MySQL menyediakan paket Xenial dari MySQL 5.6 dalam repositori mereka sendiri , dan karenanya ini lebih disukai daripada menginstal paket resmi Ubuntu Trusty , karena secara umum lebih baik untuk menginstal paket yang dibuat untuk versi Ubuntu Anda.

Jika Anda sudah memiliki paket-paket Server MySQL, Anda harus terlebih dahulu menghapusnya; hapus instalan semua yang ditunjukkan olehdpkg -l | grep mysql-server .

Cukup unduh dan instal mysql-apt-configpaket DEB di tautan sebelumnya. Selama instalasi, ia akan menanyakan versi mana yang Anda inginkan, sehingga Anda dapat memilih 5.6. Setelah paket selesai menginstal, sudo apt update && sudo apt install mysql-server-5.6akan menginstal MySQL Server 5.6.

fkraiem
sumber
3
Ini tidak berfungsi, tidak ada opsi versi 5.6, hanya 5.7
Frodik
5
Memang sepertinya sejak jawaban ini ditulis, dukungan MySQL 5.6 telah dihapus dari mysql-apt-configpaket, yang aneh karena masih terdaftar sebagai didukung di halaman tertaut ...
fkraiem
1

Saya memiliki masalah yang sama, dan saya mencoba banyak pilihan. Dan saya punya banyak masalahlibdbd-mysql-perl ; sistem mengatakan itu tidak akan menginstal perpustakaan itu.

Jadi saya berpikir untuk menginstalnya dengan Aptitude yang menginstal paket dan memperbaiki semua dependensi.

Jika Anda tidak memiliki bakat, Anda bisa mendapatkannya seperti ini:sudo apt-get install aptitude

Pertama-tama, Anda perlu menghapus instalan mysql yang ada. Selanjutnya Anda perlu menginstal paket yang Anda inginkan.

sudo aptitude install mysql-server-5.6

Bakat memberi Anda banyak pilihan, apa yang harus dilakukan. Opsi pertama adalah menyimpan paket yang sebenarnya. Jadi tekan (N) o hingga Anda menemukan opsi yang mengatakan untuk menurunkan versi paket berikutnya:

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

kemudian tekan (Y) dan aptitude akan menginstal mysql-server-5.6. Inilah opsi yang harus Anda terima:

masukkan deskripsi gambar di sini

Jika setelah itu sistem tidak dapat terhubung ke server mysql Anda perlu me-restart komputer Anda.

rebduvid
sumber