Не удается установить сервер MySQL версии 8 в Ubuntu 18.04, ошибка libpthread.so.0 не найдена. Как решить?

У меня следующая проблема:

-Я добавляю официальный репозиторий mysql

-Установите пакет mysql-server, версия 8

-Ошибка делает это невозможно завершить установку. Ошибка говорит о том, что не существует libpthread.so.0 с ошибкой «нет такого файла или каталога».

Я часами гуглял ответ и, наконец, решил прийти сюда .... но потому что мне удалось решить его, прочитав аналогичную проблему с mysql-server vesion 5.7, но с файлом libaio.1, поэтому см. ответ по моему делу ниже, надеюсь, это поможет.

0
задан 4 July 2019 в 09:06

1 ответ

Таким образом в моем случае проблемой не был libpthread.so.0 файл, это присутствовало (в/lib/x86_64-linux-gnu/). Фактической проблемой был Apparmor, который я не знал как пользователя Ubuntu, это - сервис, что это похоже на внутренний своего рода брандмауэр, вместо того, чтобы блокировать сетевые соединения, это блокирует приложения от выполнения вещей в системе (или это - мое впечатление)... ошибка ничего не говорит о apparmor, вот почему более трудно разыскать.

Шаги решения:

- Чистка (или удаляют, если Вы хотите сохранить базы данных), любые mysql пакеты для повторения установки снова:

$ sudo apt purge "mysql*"

- Автоудалите пакеты

$ sudo apt autoremove

- Остановите apparmor сервис

$ sudo systemctl stop apparmor

- Заставьте apparmor отбросить свои профили (я думал с остановкой, которой это было достаточно, но для меня это не было. С systemctl это не работает),

$ sudo service apparmor teardown

- Переустановите mysql-сервер

$ sudo apt install mysql-server

- Установите apparmor-utils, для создания профиля для mysql в apparmor, который позволяет mysql работать

$ sudo apt install apparmor-utils

- Проверьте состояние mysql-сервера (должно быть Активным (выполнение)),

$ sudo systemctl status mysql

- Генерируйте профиль для mysql в apparmor

$ sudo aa-genprof mysql

- В выполненном mysql другого терминала (введите пароль root),

$ mysql -u root -p

- сделайте вещи в MySQL, в то время как apparmor генерирует профиль в другом терминале

mysql> CREATE DATABASE fooDB

- Swith к другому терминалу и нажатию "s" (подсказка говорит Вам, это для "сканирования"),

- Скажите да политикам от apparmor, Вы считаете целесообразным (я предполагаю всех их для mysql), скажите да нажимающий "a" для, Позволяют

- Нажмите "f" для Окончания профиля apparmor

- Перезапустите apparmor сервис

$ sudo systemctl start apparmor

- Проверьте, чтобы видеть, можно ли все еще использовать mysql в другом терминале

mysql>exit
$ mysql -u root -p

Если все хорошо, можно использовать mysql из командной строки.

0
ответ дан 24 October 2019 в 01:11

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

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