在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

AppArmor导致datadir迁移无法启动或初始化失败该怎么办

111次阅读
没有评论

共计 2214 个字符,预计需要花费 6 分钟才能阅读完成。

AppArmor 导致 datadir 迁移无法启动或初始化失败该怎么办,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

【问题描述】:
行为:通过 apt-get 在一台 ubuntu 的机子上新装一个 mysql 做本地日志存储,
由于默认 datadir 在 /var/lib/mysql 下,所以准备重新初始化 datadir:

mysql_install_db –user=mysql –datadir=/data/mysql_data –basedir=/usr

报错如下:

160902 15:25:41 [Note] /usr/sbin/mysqld (mysqld 5.5.50-0ubuntu0.14.04.1) starting as process 25512 …

160902 15:25:41 [Warning] Can t create test file /data/mysql_data/10-8-20-62.lower-test

160902 15:25:41 [Warning] Can t create test file /data/mysql_data/10-8-20-62.lower-test

ERROR: 1005  Can t create table db (errno: 13)

160902 15:25:41 [ERROR] Aborting

160902 15:25:41 [Note] /usr/sbin/mysqld: Shutdown complete

Installation of system tables failed!  Examine the logs in

/data/mysql_data for more information.

给 /data/mysql_data 加了对应的权限,再一次执行,报同样错。

于是干脆直接将 /var/lib/mysql 整个文件夹迁移到 /data/mysql_data 下,再启动服务:
cp 过去之后,修改 /etc/mysql/my.cnf 中的 datadir 位置,然后 mysqld_safe 启动,发现不能启动:

mysqld_safe mysqld from pid file /data/mysql_data/mysqld.pid ended

查看错误日志发现报错找不到 mysql schema 下的 plugin.frm 文件:

160902 15:26:51 [Note] Plugin FEDERATED is disabled.

/usr/sbin/mysqld: Can t find file: ./mysql/plugin.frm (errno: 13)

160902 15:26:51 [ERROR] Can t open the mysql.plugin table. Please run mysql_upgrade to create it.

再次确认目录及文件的权限,然后确认文件的存在之后,启动依然失败,报错不变。

【解决方案】:
然后想到 Ubuntu 和 CentOS 文件安全策略可能有一些不一样,然后查到了这样的东西:(P.S. 公司 DB server 都是部署在 CentOS 上的,这次安在 Ubuntu 是特例)

Ubuntu 下默认安装了并存在一个 AppArmor 的服务,这个服务是用于访问控制的。
在以 apt-get 安装 mysql 时,个人猜测可能在 AppArmor 的配置中限制了访问限制——
导致 mysqld_safe 与 mysqld 进程无法读写新移植的 datadir 目录中的文件,也同样导致了 mysql_install_db 无法在对应的 mysql schema 下创建文件。

解决方法很简单,通过编辑器打开此文件,并重新让 AppArmor 加载最新的配置即可:

vi /etc/apparmor.d/usr.sbin.mysqld

在该 usr.sbin.mysqld 配置文件中,注释掉部分目录(这些目录是 my.cnf 中做了修改的):
因为我在 my.cnf 中修改了 pid-file、socket、datadir、log_error,所以我对应注释掉了这些目录:

#/var/log/mysql.log rw,

#/var/log/mysql.err rw,

#/var/lib/mysql/ r,

#/var/lib/mysql/** rwk,

#/var/log/mysql/ r,

#/var/log/mysql/* rw,

#/var/run/mysqld/mysqld.pid rw,

#/var/run/mysqld/mysqld.sock w,

#/run/mysqld/mysqld.pid rw,

当然,也可以简单直接删掉这些。

并紧接着在其下添加新的 datadir 目录(注意以逗号做结束符)

/data/mysql_data rw,

最后让 AppArmor 重新加载:

# /etc/init.d/apparmor reload

* Reloading AppArmor profiles

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

…done.

再次启动 mysqld 即可成功。(当然重新初始化 mysql_install_db 也是可以的了)

P.S. 当然也可以粗暴地直接停掉 apparmor 服务。

看完上述内容,你们掌握 AppArmor 导致 datadir 迁移无法启动或初始化失败该怎么办的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注丸趣 TV 行业资讯频道,感谢各位的阅读!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-19发表,共计2214字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 高清性视频hd | 亚州春色 | 亚洲人成影视 | 国产日产欧洲无码视频 | 视频二区在线观看 | 日韩一区二区三区电影 | 国产成人a在一区线观看高清 | 国产成人无码一二三区视频 | 国产精品亚洲精品日韩己满十八小 | 久久国产免费 | 性高爱久久久久久久久 | 欧美最猛黑人xxxx | 久久久久久国产精品免费免 | 麻豆一区 | 日本一本在线视频 | 人妻少妇av无码一区二区 | 欧美偷拍色图 | 两个人看的www神马视频 | 久久综合精品国产一区二区三区 | 久久亚洲av无码西西人体 | 日韩欧美一区二区三区中文精品 | 青青草原免费在线 | 国产女人18毛片水真多18精品 | 极品粉嫩嫩模大尺度无码 | 韩国19福利视频免费观看 | 国产99视频精品草莓免视看 | 日日夜夜操操 | 国产亚洲精品资源一区 | 中文字幕一区二区三区不卡 | 在线成人天天鲁夜啪视频 | 国产乱子伦视频在线观看 | 9久热这里只有精品免费 | 桃花色综合影院 | 成人欧美视频免费看黄黄 | 伊人色综合一区二区三区 | 国产欧美日韩精品a在线看 国产欧美日韩精品第三区 国产欧美日韩精品第一区 国产欧美日韩精品高清二区综合区 | 亚洲 欧美 字幕 一区 在线 | 乱成熟女人在线视频 | 九九精品久久久久久噜噜 | 欧美成人一区二区三区在线观看 | 亚洲4p|