解决Linux-Centos7启动Mysql服务失败丢失mysql.sock问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了解决Linux-Centos7启动Mysql服务失败丢失mysql.sock问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3615字,纯文字阅读大概需要6分钟。
内容图文
在新安装mysql后进行启动发现报错
mysql启动服务命令
systemctl start mysqld@3306
Starting mysqld (via systemctl):? Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld3306.service" and "journalctl -xe" for details.
按照错误提示信息进行排查
systemctl status mysqld3306.service
journalctl -xe
尝试连接mysql报错查看sock文件夹发现sock文件丢失
[root@cdh03 mysqldata3309]# mysql -uroot -S /data/mysqldata3309/sock/mysql.sock -p"Ygadb(vw<6ae"
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/data/mysqldata3309/sock/mysql.sock‘ (2)
使用命令journalctl -xe查看报错具体原因,发现红色找字体的日志:SELinux is preventing mysqld from getattr access on the file /var/lib/mysql/ibdata1. For complete SELinux messages run: sealert -l
发现是selinux限制导致mysql服务启动失败
解决办法
1. 查看SELinux状态
1.1 getenforce
getenforce?命令是单词get(获取)和enforce(执行)连写,可查看selinux状态,与setenforce命令相反。
setenforce?命令则是单词set(设置)和enforce(执行)连写,用于设置selinux防火墙状态,如:?setenforce 0用于关闭selinux防火墙,但重启后失效
[root@cdh03 ~]# getenforce
Enforcing
1.2 /usr/sbin/sestatus
Current mode表示当前selinux防火墙的安全策略
[root@cdh03 ~]# /usr/sbin/sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 28
SELinux status:selinux防火墙的状态,enabled表示启用selinux防火墙
Current mode: selinux防火墙当前的安全策略,enforcing 表示强
2. 关闭SELinux
2.1 临时关闭
setenforce 0?:用于关闭selinux防火墙,但重启后失效。
[root@cdh03 ~]# setenforce 0
[root@cdh03 ~]# /usr/sbin/sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: permissive
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 28
2.1 永久关闭
修改selinux的配置文件,重启后生效。
打开 selinux 配置文件
[root@cdh03 ~]# vim /etc/selinux/config
修改 selinux 配置文件
将SELINUX=enforcing改为SELINUX=disabled,保存后退出
This file controls the state of SELinux on the system.
SELINUX= can take one of these three values:
enforcing - SELinux security policy is enforced.
permissive - SELinux prints warnings instead of enforcing.
disabled - No SELinux policy is loaded.
SELINUX=enforcing
SELINUXTYPE= can take one of three two values:
targeted - Targeted processes are protected,
minimum - Modification of targeted policy. Only selected processes are protected.
mls - Multi Level Security protection.
SELINUXTYPE=targeted
此时获取当前selinux防火墙的安全策略仍为Enforcing,配置文件并未生效。
[root@cdh03 ~]# getenforce
Enforcing
重启
[root@cdh03 ~]# reboot
验证
[root@cdh03 ~]# /usr/sbin/sestatus
SELinux status: disabled
[root@cdh03 ~]# getenforce
Disabled
然后重启MYSQL服务,连接正常
解决Linux-Centos7启动Mysql服务失败丢失mysql.sock问题
标签:配置 current centos7 val mysq rev 安全策略 print 火墙
本文系统来源:https://www.cnblogs.com/whiteY/p/13286214.html
内容总结
以上是互联网集市为您收集整理的解决Linux-Centos7启动Mysql服务失败丢失mysql.sock问题全部内容,希望文章能够帮你解决解决Linux-Centos7启动Mysql服务失败丢失mysql.sock问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。