ITPub博客

首页 > 数据库 > MySQL > 解决ERROR 1030 (HY000): Got error 168 from storage engine apparmor

解决ERROR 1030 (HY000): Got error 168 from storage engine apparmor

原创 MySQL 作者:姚远ACE 时间:2022-06-13 14:31:17 0 删除 编辑

MySQL建表时指定另外一个目录,结果出错:

mysql>  create table t1 (id int primary key,n varchar(10)) data directory='/home/mysql/data';
ERROR 1030 (HY000): Got error 168 from storage engine

在error log中有这样的提示:

2020-01-16T02:29:45.360317Z 2 [ERROR] InnoDB: Operating system error number 13 in a file operation.
2020-01-16T02:29:45.360400Z 2 [ERROR] InnoDB: The error means mysqld does not have the access rights to the directory.

以为是mysqld的权限不对,改了也没有用:

mysql> system sudo -u mysql touch  /home/mysql/data/a
mysql>  create table t1 (id int primary key,n varchar(10)) data directory='/home/mysql/data';
ERROR 1030 (HY000): Got error 168 from storage engine

到处搜索,发现是apparmor惹得祸,

# aa-status| grep mysql
   /usr/sbin/mysqld
   /usr/sbin/mysqld (15007)

修改配置文件把相应的目录加上即可: /etc/apparmor.d/usr.sbin.mysqld 

或者disable mysqld的

sudo ln -s /etc/apparmor.d/usr.sbin.mysqld  /etc/apparmor.d/disable/
sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld

Skipping profile in /etc/apparmor.d/disable: usr.sbin.mysqld




来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70018393/viewspace-2900232/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle ACE, 华为云MVP,Oracle 10g和12c OCM,《MySQL 8.0 运维与优化》作者。OCP考试资料分享微信dataace

注册时间:2022-05-30

  • 博文量
    22
  • 访问量
    42334