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

转载于:https://my.oschina.net/u/2398640/blog/902974

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值