У меня следующая проблема:
-Я добавляю официальный репозиторий mysql
-Установите пакет mysql-server, версия 8
-Ошибка делает это невозможно завершить установку. Ошибка говорит о том, что не существует libpthread.so.0 с ошибкой «нет такого файла или каталога».
Я часами гуглял ответ и, наконец, решил прийти сюда .... но потому что мне удалось решить его, прочитав аналогичную проблему с mysql-server vesion 5.7, но с файлом libaio.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 из командной строки.