Рейтинг:1

MySQL 8.0 service won't start "directory exists"

флаг tr

Environment:

  • Ubuntu 20.04 cloud image, initiated with cloud-config with total 9 hdds.
  • mysql-server 8.0.27 installed with apt.
  • Two logical volumes with four hdds each (sdb-e, sdf-i) mounted rw on /mysql/data and /mysql/log.
  • User mysql owns /mysql and all subdirs and can write to them.
  • Configuration file in /etc/mysql/conf.d/mysql.cnf defines basedir as /var/lib/mysql (where all the default stuff is from the installation) and datadir as /mysql/data.

Problem:

  • Enable/start mysql.service fails the pre-check with a message that the directory /mysql/data already exists, and will not start.

How does one get around this catch22 situation?

флаг in
Похоже на проблему с AppArmor. Проверьте свою конфигурацию, чтобы убедиться, что раздел MySQL имеет правильные значения `[r,w]` для каталогов, которые вы создали.
Рейтинг:1
флаг tr

Это решило проблему:

# Разрешить изменение каталога в AppArmor
sudo sed -i '/\# Разрешить доступ к файлам данных /a /mysql/** rwk,' /etc/apparmor.d/usr.sbin.mysqld
sudo systemctl остановить apparmor.service
спать 10
sudo systemctl запустить apparmor.service

удалил папки потерянные+найденные из /mysql/ подпапки и инициализировал БД с помощью

sudo -u mysql mysqld --инициализировать

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.