Автоматическая установка MySQL 8 на Ubuntu 18.04 WSL - PullRequest
0 голосов
/ 08 июля 2019

Я пытаюсь установить MySQL 8 на Ubuntu (это подсистема Windows для Linux) без каких-либо запросов.

У меня есть следующий скрипт:

apt-key add --keyserver pgp.mit.edu --recv-keys 5072E1F5
echo 'deb http://repo.mysql.com/apt/ubuntu/ bionic mysql-8.0' > /etc/apt/sources.list.d/mysql.list

apt-get update --yes
apt-get install --yes debconf-utils
echo 'mysql-community-server mysql-community-server/root-pass password' | sudo debconf-set-selections
echo 'mysql-community-server mysql-community-server/re-root-pass password' | sudo debconf-set-selections
apt-get install --yes mysql-community-server

(частично построен благодаря ответам в на этот вопрос )

и похоже, что он работает нормально, за исключением того, что он побуждает меня выбрать метод аутентификации ... Я хочу выбрать mysql_native_password и сделать это без интерактивного запроса.

Я предполагаю, что решением является другая настройка debconf-set-selections, но ... В дополнение к вопросу о том, что это для этого случая ... Где-нибудь есть ссылка на все возможные варианты?

Существует также проблема, связанная с тем, что apt-get говорит о том, что для службы создана символическая ссылка, и, тем не менее, служба не создана. для реального сервера Ubuntu, где я думаю, что это будет работать ... надеюсь.

РЕДАКТИРОВАТЬ1: Не берите в голову оригинальный вопрос ... Мне удалось найти ответ здесь что натолкнуло на этот докер-файл

Итак, я добавил

echo 'mysql-community-server mysql-server/default-auth-override select Use Legacy Authentication Method (Retain MySQL 5.x Compatibility)' | sudo debconf-set-selections

это строка, которая мне нужна ...

ОДНАКО осталась другая, возможно, специфичная для WSL проблема ... то есть служба MySQL не создается. Я должен отметить, что, хотя у меня MySQL вне WSL, сервер выключен, особенно для того, чтобы WSL мог работать.

По окончании установки я получаю следующий вывод:

Setting up mysql-community-server (8.0.16-2ubuntu18.04) ...
update-alternatives: using /etc/mysql/mysql.cnf to provide /etc/mysql/my.cnf (my.cnf) in auto mode
dpkg: error processing package mysql-community-server (--configure):
 installed mysql-community-server package post-installation script subprocess returned error exit status 1
Processing triggers for libc-bin (2.27-3ubuntu1) ...
Errors were encountered while processing:
 mysql-community-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

И единственное, что я могу найти в связи с этим, это предложения полной переустановки, но даже переустановка экземпляра WSL не исправляет это.

EDIT2: добавление

apt-get dist-upgrade --yes --allow-remove-essential --allow-change-held-packages

Исправляет вышеуказанную ошибку, и, тем не менее, несмотря на отсутствие ошибок, служба по-прежнему не создается.

...