MySQL 8.0 服务无法启动“目录存在”

MySQL 8.0 服务无法启动“目录存在”

环境:

  • Ubuntu 20.04 云映像,使用云配置启动,总共有 9 个硬盘。
  • mysql-server 8.0.27 使用 apt 安装。
  • 两个逻辑卷,每个卷有四个硬盘(sdb-e、sdf-i),以读写方式安装在/mysql/data和 上/mysql/log
  • 用户 mysql 拥有/mysql所有子目录并可以对其进行写入。
  • 配置文件/etc/mysql/conf.d/mysql.cnf定义basedir/var/lib/mysql(其中所有默认内容来自安装)datadir/mysql/data

问题:

  • 启用/启动 mysql.service 预检查失败,并显示目录/mysql/data已存在的消息,因此无法启动。

如何摆脱这种进退维谷的困境?

答案1

这解决了这个问题:

# Allow directory changes in AppArmor
sudo sed -i '/\# Allow data files dir access/a /mysql/** rwk,' /etc/apparmor.d/usr.sbin.mysqld
sudo systemctl stop apparmor.service
sleep 10
sudo systemctl start apparmor.service

从子文件夹中删除 lost+found 文件夹/mysql/并使用初始化数据库

sudo -u mysql mysqld --initialize

相关内容