Помогите установить mysql v5.7 на ubuntu-server 20.04 LTS [дубликат]

Я пытаюсь установить MySQL 5.7 на новую установку Ubuntu 20.04. Я выполнил шаги Кульфи из этого поста , чтобы установить MySQL 5.7 на Ubuntu 20.04. Мне удалось установить mysql-client, но не mysql-server.

Результат

apt-cache policy mysql-server

:

mysql-server:
  Installed: (none)
  Candidate: 8.0.19-0ubuntu5
  Version table:
     8.0.19-0ubuntu5 500
        500 http://ro.archive.ubuntu.com/ubuntu focal/main amd64 Packages
        500 http://ro.archive.ubuntu.com/ubuntu focal/main i386 Packages
     5.7.30-1ubuntu18.04 500
        500 http://repo.mysql.com/apt/ubuntu bionic/mysql-5.7 amd64 Packages
     5.7.29-0ubuntu0.18.04.1 500
        500 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu bionic-security/main i386 Packages

Я использовал следующую команду для установки mysql-server.

sudo apt install mysql-server=5.7.29-0ubuntu0.18.04.1

Результат выполнения приведенной выше команды:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 mysql-server : Depends: mysql-server-5.7 but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Я также попробовал предложения из этого сообщения , а также этого сообщения (то, что я думал, могло сработать).

Не могли бы вы указать мне правильное направление?

Спасибо!

20
задан 28 April 2020 в 22:13

5 ответов

Мне удалось заставить его работать! Я не опытный пользователь Linux, поэтому, пожалуйста, не стесняйтесь комментировать / редактировать / улучшать мой ответ. Как вы увидите, я не понимаю, почему некоторые вещи работают, а некоторые нет ...

Итак, я установил mysql-apt-config в качестве помощника. Это закомментировало все записи в /etc/apt/sources.list.d/mysql.list (создан в соответствии с ответом Кульфи в этой записи )

В этой статье также помогло.

wget http://repo.mysql.com/mysql-apt-config_0.8.10-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.10-1_all.deb

Запустите команду ниже и выберите MySQL 5.7 из списка:

sudo dpkg-reconfigure mysql-apt-config
sudo apt update
sudo apt-cache policy mysql-server

Я не знаю почему, но без следующего он выдал ошибку при установке mysql-community-server и завершился неудачей.

sudo mkdir /etc/mysql/conf.d

Установите компоненты в этом порядке. В противном случае отображаются ошибки, похожие на те, что были в моем исходном вопросе. В принципе, Я попытался установить MySQL-сервер - не удалось запросить MySQL-сообщества-сервер. Я попытался установить позже, это снова не удалось, запросив MySQL клиент. Я попытался установить этот, и это сработало. Затем я проследил свои шаги назад - установил mysql-community-server и затем mysql-server. Это работало без ошибок.

sudo apt install -f mysql-client=5.7.30-1ubuntu18.04
sudo apt install -f mysql-community-server=5.7.30-1ubuntu18.04
sudo apt install -f mysql-server=5.7.30-1ubuntu18.04

Я использовал следующее для защиты установки MySQL sudo mysql_secure_installation

Запретить обновление до MySQL 8 - благодаря NSwanson7 в этой публикации

sudo nano /etc/apt/preferences.d/mysql

Добавьте следующее содержимое в созданный выше файл.

Package: mysql-server
Pin: version 5.7.30-1ubuntu18.04
Pin-Priority: 1001

Package: mysql-client
Pin: version 5.7.30-1ubuntu18.04
Pin-Priority: 1001

Package: mysql-community-server
Pin: version 5.7.30-1ubuntu18.04
Pin-Priority: 1001

Package: mysql-community-client
Pin: version 5.7.30-1ubuntu18.04
Pin-Priority: 1001

Package: mysql-apt-config
Pin: version 0.8.10-1
Pin-Priority: 1001

Надеюсь, это поможет!

8
ответ дан 19 June 2020 в 21:42

Я последовал этому ответу, и он работает.
Сначала я удалил mysql с моего компьютера , удалил Mysql

Затем в загрузил раздел , я выбрал
enter image description here

И, как правило, следую ошибкам.
Я также устанавливаю
sudo apt-get install libaio1
, где говорится, что это нужно.


ОБНОВЛЕНИЕ 31/05/2020 Я думаю, что порядок:

sudo dpkg -i mysql-common_5.7.30-1ubuntu18.04_amd64.deb 
sudo dpkg -i libmysqlclient20_5.7.30-1ubuntu18.04_amd64.deb
sudo dpkg -i libmysqlclient-dev_5.7.30-1ubuntu18.04_amd64.deb  
sudo dpkg -i libmysqld-dev_5.7.30-1ubuntu18.04_amd64.deb     
sudo dpkg -i mysql-community-source_5.7.30-1ubuntu18.04_amd64.deb  
sudo apt-get install libaio1
sudo apt install libmecab2
sudo dpkg -i mysql-community-client_5.7.30-1ubuntu18.04_amd64.deb
sudo dpkg -i mysql-client_5.7.30-1ubuntu18.04_amd64.deb
sudo dpkg -i mysql-community-server_5.7.30-1ubuntu18.04_amd64.deb
sudo dpkg -i mysql-server_5.7.30-1ubuntu18.04_amd64.deb
sudo dpkg -i mysql-community-test_5.7.30-1ubuntu18.04_amd64.deb
sudo dpkg -i mysql-testsuite_5.7.30-1ubuntu18.04_amd64.deb
sudo dpkg -i libmysqlclient20_5.7.30-1ubuntu18.04_amd64.deb
1
ответ дан 19 June 2020 в 21:42

Я использую следующий файл для предотвращения обновления:

sudo nano /etc/apt/preferences.d/mysql
Package: libmysqlclient-dev
Pin: version 5.7.30-0ubuntu0.18.04.1
Pin-Priority: 1001

Package: libmysqlclient20
Pin: version 5.7.30-0ubuntu0.18.04.1
Pin-Priority: 1001

Package: libmysqld-dev
Pin: version 5.7.30-0ubuntu0.18.04.1
Pin-Priority: 1001

Package: mysql-server
Pin: version 5.7.30-0ubuntu0.18.04.1
Pin-Priority: 1001

Package: mysql-client
Pin: version 5.7.30-0ubuntu0.18.04.1
Pin-Priority: 1001

Package: mysql-community-server
Pin: version 5.7.30-0ubuntu0.18.04.1
Pin-Priority: 1001

Package: mysql-community-client
Pin: version 5.7.30-0ubuntu0.18.04.1
Pin-Priority: 1001

Package: mysql-apt-config
Pin: version 0.8.10-1
Pin-Priority: 1001
0
ответ дан 19 June 2020 в 21:42

В Ubuntu 16.04 и других более новых версиях Linux концепция уровня запуска была изменена с помощью системных целей.

Чтобы изменить уровень выполнения на 3, используйте следующую команду:

sudo systemctl set-default runlevel3.target

Для проверки текущей цели используйте следующую команду:

systemctl get-default

Для получения дополнительной информации вы можете посетить справочные страницы systemd.

man systemd
----- ----121--------865096----

Классическое обновление до 20,04 LTS с 18,04 LTS будет доступно в июле.

Однако, согласно , эта страница можно обновить до 20.04 с помощью

sudo apt update
sudo do-release-upgrade -d

. Хотя вы укажете аргумент -d (разработка), он будет обновлен до стабильной версии 20.04. Это просто потому, что классический способ обновления будет ждать версию 20.04.1 в июле (потому что версия LTS предназначена для людей, которые хотят действительно стабильную систему). как @tsotzolas сказал использовать это, чтобы очистить установку v 8.0 Как мне удалить MySQL?

Но это очистит ваших пользователей, пароли ... так что! во-первых, если вы сделали обновление.

Затем следуйте этим шагам https://marabesi.com/mysql/2019/12/23/mysql-5.7-on-ubuntu-19.html

Это работало для меня в Kubuntu 19.10 и 20.04

0
ответ дан 19 June 2020 в 21:42

Это сработало для меня:

wget https://repo.mysql.com//mysql-apt-config_0.8.12-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.12-1_all.deb
sudo apt update
sudo apt install mysql-client=5.7.30-1ubuntu18.04
sudo apt install mysql-community-server=5.7.30-1ubuntu18.04
sudo apt install mysql-server=5.7.30-1ubuntu18.04
0
ответ дан 19 June 2020 в 21:42

Другие вопросы по тегам:

Похожие вопросы: