记一次mysql启动失败分析和处理-原因:SElinux

SELinux是一种基于 域-类型 模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。任何程序对其资源享有完全的控制权。假设某个程序打算把含有潜在重要信息的文件扔到/tmp目录下,那么在DAC情况下没人能阻止他。SELinux提供了比传统的UNIX权限更好的访问控制。

在51、52、54三台主机上搭建Galera集群,在54上安装mysql并能成功启动,但在51、52上始终无法启动,能看到的日志也非常少。

localhost systemd: Starting LSB: start and stop MySQL...
localhost mysql: Starting MySQL.170228 16:45:19 mysqld_safe Logging to '/var/lib/mysql/controller2.err'.
localhost mysql: 170228 16:45:19 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
localhost mysql: /usr/bin/mysqld_safe_helper: Can't create/write to file '#001' (Errcode: -1769717024)
localhost mysql: [FAILED]
localhost systemd: mysql.service: control process exited, code=exited status=1
localhost systemd: Failed to start LSB: start and stop MySQL.
localhost systemd: Unit mysql.service entered failed state.
localhost systemd: mysql.service failed.

但能分析的内容太少,通过journalctl -xe也看到如下日志:

compute2 useradd[16108]: failed adding user 'mysql', exit code: 9

分析感觉与权限有关系,查看/etc/passwd中mysql用户是存在的,并且/var/lib/mysql目前也存在并且权限也是mysql。

但51和52的mysql的始终启动不了,对于这种没有太多异常日志的问题处理,感觉真的无力下手。

后面在网上浏览帖子,发现有提到过selinux,就试着用getenforce查看了三台主机的状态,发现54关闭,51和52两台是开着的。

关闭selinux 后,通过如下命令:

yum install MariaDB-Galera-server MariaDB-client galera

安装后mysql启动正常了。

赞(0)
声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-62778877-8306;邮箱:fanjiao@west.cn。本站原创内容未经允许不得转载,或转载时需注明出处:西部数码知识库 » 记一次mysql启动失败分析和处理-原因:SElinux

登录

找回密码

注册