ติดตั้ง MySql 5.6 บน Ubuntu 16.04


39

ดูเหมือนว่า Ubuntu 16.04 จะมาพร้อมกับ MySQL 5.7 แต่ฉันต้องติดตั้ง 5.6

เมื่อฉันพยายามติดตั้งอย่างชัดเจนsudo apt-get install mysql-server-5.6ฉันได้รับข้อผิดพลาดต่อไปนี้:

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 หรือไม่?


mysql 5.7.12 นั้นเป็นแรมหมู
หมากฝรั่ง

คำตอบ:


68

ฉันใช้วิธีการต่อไปนี้:

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

หากมีข้อผิดพลาดเกิดขึ้นระหว่างการดำเนินการคำสั่งสุดท้ายดูที่ส่วนความคิดเห็นของคำตอบนี้


10
คุณอาจต้องการsudo rm /var/lib/mysql/debian-5.7.flagหรือจะยกเลิกด้วยSub-process /usr/bin/dpkg returned an error code (1)
xxjjnn

2
บริการ mysql เริ่มทำงานไม่ถูกต้อง ใช้ 'systemctl status mysql.service' ฉันได้รับ 'ล้มเหลวในการเริ่มต้น LSB: เริ่มและหยุด daemon เซิร์ฟเวอร์ฐานข้อมูล mysql' นี่เป็นเพราะ repo Trusty ใช้ upstart และ 5.7 ใช้ systemd?
jowan sebastian

1
@jowansebastian - คุณเคยรู้ไหมว่าทำไมสิ่งนี้ถึงเกิดขึ้น ฉันมีข้อผิดพลาดที่คล้ายกัน
Barrie Reader

@BarrieReader ไม่เสียใจฉันสร้าง centos VM สำหรับสิ่งที่ฉันทำและทำให้มันทำงานได้ดี
jowan sebastian

+1 คุณจะรู้ว่ามีวิธีการติดตั้ง MySQL 5.6 เช่น 5.6.35 รุ่นเฉพาะหรือไม่?
vphilipnyc

9

ดูเหมือนว่าฉันจะทำมัน

  1. ในซอฟต์แวร์ & การอัปเดต / ซอฟต์แวร์อื่นเพิ่มที่เก็บ 14.04:

    deb http://archive.ubuntu.com/ubuntu trusty main
    
  2. ติดตั้งไคลเอนต์และเซิร์ฟเวอร์ mysql:

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

อัปเดต:ก่อนติดตั้ง 5.6 ตรวจสอบให้แน่ใจว่าไม่มีแพ็คเกจ mysql อื่น ๆ อยู่:

dpkg -l | grep mysql - ส่งคืนรายการของแพ็คเกจ mysql

ใช้apt-get purge <package name>เพื่อล้างพวกเขา

ที่มา: 16.04 การอัพเกรด mysql-server ยากจน


1
วิธีแก้ปัญหาที่ดี แต่ทำไมคุณจึงต้องการ 5.6 แทนที่จะเป็น 5.7
Uwe Burger

5
5.7 ไม่รองรับการทำงานย้อนหลัง แอปพลิเคชัน SQL บางตัวที่ฉันใช้งานล้มเหลว ...
Tarlog

2
คุณได้รับข้อผิดพลาดอะไร ฉันสงสัยว่าเป็นเพราะการตั้งค่าสถานะ ONLY_FULL_GROUP_BY ซึ่งเป็น "เปิด" โดยค่าเริ่มต้นใน MySQL 5.7 ตั้งเป็นปิดและคุณอาจจะสบายดี
Jaydee

ขณะนี้ฉันจำรายละเอียดไม่ได้ฉันลองไปเกือบสองเดือนแล้ว ถ้าฉันจำได้ถูกต้องมันเป็นเรื่องเกี่ยวกับการประมวลผลบางวัน อาจแยกวิเคราะห์วันที่
Tarlog

5.7 บังคับให้ใช้ตารางคีมาจริง ๆ แล้ว
Richard Haven

8

ฉันประสบปัญหาเดียวกันและฉันได้ทำตามขั้นตอนง่าย ๆ ด้านล่าง:

 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

วิธีการแก้ปัญหาทำงานให้ฉันไชโย !!


นอกจากวิธีแก้ไขปัญหานี้: คุณต้องลบโฟลเดอร์เหล่านี้ก่อน: /etc/mysql/ /var/lib/mysql /var/log/mysql /var/lib/mysql-filters /var/lib/mysql-keyringและไฟล์นี้:/var/lib/mysql/debian-5.7.flag

3
ที่จะพูด Ondrej: "ไม่ได้ใช้เสีย" ลองดูที่นี่launchpad.net/~ondrej
Fractalf


1

นักพัฒนา MySQL ให้แพคเกจ Xenial ของ MySQL 5.6 ในที่เก็บของตัวเอง , และควรจึงเป็นที่ต้องการมากกว่าการติดตั้งแพคเกจอย่างเป็นทางการ Ubuntu Trustyเพราะมันเป็นโดยทั่วไปดีกว่าที่จะติดตั้งแพคเกจที่ถูกสร้างขึ้นสำหรับรุ่นของอูบุนตู

หากคุณมีแพ็คเกจเซิร์ฟเวอร์ MySQL อยู่คุณควรถอนการติดตั้งก่อน dpkg -l | grep mysql-serverเพียงแค่ถอนการติดตั้งทุกอย่างที่แสดงโดย

เพียงดาวน์โหลดและติดตั้งmysql-apt-configแพ็คเกจ DEB ในลิงค์ก่อนหน้า ระหว่างการติดตั้งมันจะถามว่าคุณต้องการเวอร์ชั่นไหนเพื่อให้คุณเลือก 5.6 หลังจากติดตั้งแพคเกจเสร็จแล้วsudo apt update && sudo apt install mysql-server-5.6จะทำการติดตั้ง MySQL Server 5.6


3
ไม่สามารถใช้งานได้ไม่มีตัวเลือกรุ่น 5.6 เพียง 5.7
Frodik

5
ดูเหมือนว่าตั้งแต่คำตอบนี้ถูกเขียนขึ้น, MySQL 5.6 การสนับสนุนถูกลบออกจากmysql-apt-configแพคเกจ, ซึ่งแปลกเพราะมันยังคงอยู่ในรายการที่ได้รับการสนับสนุนในหน้าที่เชื่อมโยง ...
fkraiem

1

ฉันมีปัญหาเดียวกันและฉันลองตัวเลือกมากมาย และฉันก็มีปัญหามากมายกับlibdbd-mysql-perl; ระบบกล่าวว่าจะไม่ติดตั้งไลบรารีนั้น

ดังนั้นฉันจึงคิดที่จะติดตั้งด้วยความถนัดที่ติดตั้งแพคเกจและแก้ไขการอ้างอิงทั้งหมด

หากคุณไม่มีความถนัดคุณจะได้รับสิ่งนี้:sudo apt-get install aptitude

ก่อนอื่นคุณต้องถอนการติดตั้ง mysql ที่มีอยู่ ถัดไปคุณต้องติดตั้งแพคเกจที่คุณต้องการ

sudo aptitude install mysql-server-5.6

ความถนัดทำให้คุณมีตัวเลือกมากมายสิ่งที่ต้องทำ ตัวเลือกแรกคือการรักษาแพคเกจจริง ดังนั้นกด (N) o จนกว่าคุณจะพบตัวเลือกที่จะลดระดับแพ็คเกจถัดไป:

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

จากนั้นกด (Y) es และความถนัดจะติดตั้ง mysql-server-5.6 นี่คือตัวเลือกที่คุณควรยอมรับ:

ป้อนคำอธิบายรูปภาพที่นี่

หากหลังจากนั้นระบบไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ mysql ได้คุณต้องรีสตาร์ทคอมพิวเตอร์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.