CentOS 7下MySQL的data目录更改后,使用mysqld服务启动失败

前端之家收集整理的这篇文章主要介绍了CentOS 7下MySQL的data目录更改后,使用mysqld服务启动失败前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在CentOS 7系统下,通过rpm和yum命令安装MysqL,一般会采取service MysqLd start命令来启动MysqL。在MysqL配置文件/etc/my.cnf中,默认的data路径是:/var/lib/MysqL,socket的默认路径是/var/lib/MysqL/MysqL.sock。为了数据安全问题,一般会将MysqL的data路径进行修改,在修改路径后,都会遇到一个普遍的问题,service MysqLd start命令启动不了,MysqL命令无法执行的问题,针对这些问题,下面部分解决方案,以供大家参考。

首先在修改data目录前,先将数据库停止服务 service MysqLd stop

在需要移动的目标文件夹下建立目标文件MysqL的data文件存放目录:mkdir /MysqLdata/data MysqL的sock文件:mkdir /MysqLdata/tmp(默认sock保存在data文件中)

数据库文件移动到新的data目录下 mv /var/lib/MysqL/* /MysqLdata/data

修改MysqL配置文件 vi/etc/my.conf

修改配置

[MysqLd]

datadir=/var/lib/MysqL换成 datadir=/MysqLdata/data

socket= /MysqLdata/tmp/MysqL.sock

注意:service MysqLd start 启动时通过MysqLd_safe进行启动的,同时要修改[MysqLd_safe]和[client] [MysqLd_safe]

log-error=/var/log/MysqLd.log

pid-file=/var/run/MysqLd/MysqLd.pid

datadir=datadir=/MysqLdata/data

socket = /MysqLdata/tmp/MysqL.sock

[client]

socket = /MysqLdata/tmp/MysqL.sock

修改/etc/selinux/config文件中设置SELINUX=disabled ,然后重新系统 若前面内容全部修改完成后,启动service MysqLd start 一直无响应,查看日志会发现错误提示是:vi /var/log/MysqLd.log:[Warning] Can't create test file xxx.lower-test,解决方案就是将设置SELINUX=disabled,重启系统,否则在启动MysqL时会被拒绝。

启动MysqL成功: service MysqLd start

在安装MysqL时,遇到了这个问题,多次尝试找到的比较合适的解决方案,总结一下给遇到问题的朋友一些参考,若文章有问题的话,希望大家能够给予批评与指正,谢谢。

猜你在找的CentOS相关文章