Cài đặt MySql 5.6 trên Ubuntu 16.04


40

Có vẻ như Ubuntu 16.04 đang đi kèm với MySQL 5.7, tuy nhiên tôi cần cài đặt 5.6.

Khi tôi cố gắng cài đặt nó một cách rõ ràng, sudo apt-get install mysql-server-5.6tôi gặp lỗi sau:

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

Có cách nào để cài đặt 5.6 không?


Đó là mysql 5.7.12 là một con heo RAM.
dibs

Câu trả lời:


69

Tôi đã sử dụng cách tiếp cận sau:

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

Nếu xảy ra lỗi trong khi thực hiện lệnh cuối cùng, hãy xem phần bình luận của câu trả lời này.


10
Bạn có thể cần sudo rm /var/lib/mysql/debian-5.7.flaghoặc nó sẽ hủy bỏ vớiSub-process /usr/bin/dpkg returned an error code (1)
xxjjnn

2
dịch vụ mysql không khởi động đúng cách. bằng cách sử dụng 'trạng thái systemctl mysql.service' Tôi nhận được 'Không thể khởi động LSB: Bắt đầu và dừng trình nền máy chủ cơ sở dữ liệu mysql'. Đây có phải là vì Trusty repo sử dụng mới bắt đầu và 5.7 sử dụng systemd?
jowan sebastian

1
@jowansebastian - Bạn đã bao giờ tìm hiểu tại sao điều này xảy ra chưa? Tôi đang có một lỗi tương tự.
Barrie Reader

@BarrieReader không xin lỗi, tôi đã tạo một máy ảo centos cho những gì tôi đang làm và làm cho nó hoạt động tốt ở đó.
jowan sebastian

+1. Bạn có biết liệu có cách nào để cài đặt một phiên bản cụ thể của MySQL 5.6 như 5.6.35 không?
vphilipnyc

9

Có vẻ như tôi đã làm được.

  1. Trong Phần mềm & Cập nhật / Phần mềm khác đã thêm kho lưu trữ 14.04:

    deb http://archive.ubuntu.com/ubuntu trusty main
    
  2. Đã cài đặt máy khách và máy chủ mysql:

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

Cập nhật: Trước khi cài đặt 5.6, hãy đảm bảo rằng không có gói mysql nào khác xuất hiện:

dpkg -l | grep mysql - trả về danh sách các gói mysql.

Sử dụng apt-get purge <package name>để thanh lọc chúng.

Nguồn: 16.04 nâng cấp đã phá vỡ máy chủ mysql


1
Giải pháp tốt, nhưng tại sao bạn cần 5.6 thay vì 5.7?
Uwe Burger

5
5.7 không tương thích ngược. Một số SQL của ứng dụng tôi đang làm việc thất bại ...
Tarlog

2
lỗi gì bạn nhận được? Tôi nghi ngờ rằng đó là do cờ CHỈ_ULL_GROUP_BY được "bật" theo mặc định trong MySQL 5.7. Đặt nó thành tắt và bạn có thể ổn.
Jaydee

Hiện tại tôi không nhớ chi tiết, tôi đã thử nó gần hai tháng trước. Nếu tôi nhớ chính xác, đó là về một số ngày xử lý. Có thể phân tích ngày tháng.
Tarlog

5.7 thực sự thực thi lược đồ bảng
Richard Haven

8

Tôi đã phải đối mặt với cùng một vấn đề và tôi đã thực hiện các bước đơn giản dưới đây:

 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

Giải pháp làm việc cho tôi Chúc mừng !!


Ngoài các giải pháp này: Bạn phải xóa các thư mục này trước: /etc/mysql/ /var/lib/mysql /var/log/mysql /var/lib/mysql-filters /var/lib/mysql-keyringVà tệp này:/var/lib/mysql/debian-5.7.flag

3
Để trích dẫn ondrej: "không sử dụng, bị hỏng" . Kiểm tra tại đây 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

Các nhà phát triển MySQL cung cấp các gói Xenial của MySQL 5.6 trong kho riêng của họ và do đó , điều này nên được ưu tiên hơn khi cài đặt các gói Ubuntu Trusty chính thức , vì nói chung tốt hơn là cài đặt các gói được tạo cho phiên bản Ubuntu của bạn.

Nếu bạn đã có các gói Máy chủ MySQL, trước tiên bạn nên gỡ cài đặt chúng; chỉ cần gỡ cài đặt mọi thứ được hiển thị bởi dpkg -l | grep mysql-server.

Chỉ cần tải xuống và cài đặt mysql-apt-configgói DEB trong liên kết trước. Trong quá trình cài đặt, nó sẽ hỏi bạn muốn phiên bản nào, vì vậy bạn có thể chọn 5.6. Sau khi cài đặt xong gói, sudo apt update && sudo apt install mysql-server-5.6sẽ cài đặt MySQL Server 5.6.


3
Điều này không hoạt động, không có tùy chọn phiên bản 5.6, chỉ có 5.7
Frodik

5
Thật vậy, có vẻ như vì câu trả lời này đã được viết, hỗ trợ MySQL 5.6 đã bị xóa khỏi mysql-apt-configgói, điều này thật kỳ lạ bởi vì nó vẫn được liệt kê là được hỗ trợ trên trang được liên kết ...
fkraiem

1

Tôi đã có cùng một vấn đề, và tôi đã thử rất nhiều lựa chọn. Và tôi đã có rất nhiều vấn đề với libdbd-mysql-perl; hệ thống nói rằng sẽ không cài đặt thư viện đó.

Vì vậy, tôi nghĩ rằng để cài đặt nó với Aptitude cài đặt một gói và sửa tất cả các phụ thuộc.

Nếu bạn không có năng khiếu, bạn có thể có được nó như thế này:sudo apt-get install aptitude

Trước hết bạn cần gỡ cài đặt mysql hiện tại của bạn. Tiếp theo bạn cần cài đặt gói mà bạn muốn.

sudo aptitude install mysql-server-5.6

Năng khiếu cung cấp cho bạn rất nhiều lựa chọn, phải làm gì. Các tùy chọn đầu tiên là giữ gói thực tế. Vì vậy, nhấn (N) o cho đến khi bạn tìm thấy tùy chọn để hạ cấp các gói tiếp theo:

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

sau đó nhấn (Y) es và aptitude sẽ cài đặt mysql-server-5.6. Đây là tùy chọn mà bạn nên chấp nhận:

nhập mô tả hình ảnh ở đây

Nếu sau đó hệ thống không thể kết nối với máy chủ mysql, bạn cần khởi động lại máy tính của mình.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.