Встановіть MySql 5.6 на Ubuntu 16.04


40

Здається, що 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 - це свиня ОЗУ.
диб

Відповіді:


69

Я застосував такий підхід:

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)
перерве

2
сервіс mysql не запускається належним чином. за допомогою 'systemctl status mysql.service' я отримую 'Не вдалося запустити LSB: Запуск і зупинка демона сервера бази даних mysql'. Це тому, що довірене РЕПО використовує швидкісні запуски і 5.7 використовує системні?
jowan sebastian

1
@jowansebastian - Ви коли-небудь дізналися, чому це відбувається? У мене є аналогічна помилка.
Barrie Reader

@BarrieReader не вибачте, я створив центовий 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-сервер


1
Гарне рішення, але навіщо вам потрібно 5,6 замість 5,7?
Uwe Burger

5
5.7 не є сумісним назад. Деякі програми SQL, над якими я працюю, не спрацьовують ...
Тарлог

2
Яку помилку ви отримуєте? Я підозрюю, що це пов'язано з прапором ONLY_FULL_GROUP_BY, який за умовчанням "My" у MySQL 5.7. Відключіть його і, можливо, ви будете добре.
Джейді

Наразі не пам'ятаю деталей, я спробував це майже два місяці тому. Якщо я добре пам’ятаю, мова йшла про певну обробку дат. Можливо розбір дат.
Тарлог

5.7 насправді виконує схему таблиці
Річард Хейвен

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
Цитувати ондрей: "не користуйся, зламаний" . Перевірте тут 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 надають пакети Xenial MySQL 5.6 у власних сховищах , і це, таким чином, слід віддавати перевагу перед встановленням офіційних пакетів Ubuntu Trusty , оскільки загалом краще встановлювати пакети, створені для вашої версії Ubuntu.

Якщо у вас вже є пакети MySQL Server, слід спочатку їх видалити; просто видаліть усе, що показано 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; система сказала, що не збирається встановлювати цю бібліотеку.

Тому я подумав встановити його з Aptitude, який встановить пакет і виправить усі залежності.

Якщо у вас немає здібностей, ви можете отримати його так: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-сервер-5.6. Ось варіант, який слід прийняти:

введіть тут опис зображення

Якщо після цього система не зможе підключитися до сервера mysql, вам потрібно перезапустити комп'ютер.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.