mysqld daemon start failed

CentOS 6.2,修改了mysql的数据路径(在/etc/my.cnf文件中修改datadir=XXX)之后发现

mysqld启动不了了

# /etc/init.d/mysqld start
MySQL Daemon failed to start.
Starting mysqld:                                           [FAILED]

查看mysqld的log文件

#less /var/log/mysqld.log
/usr/libexec/mysqld: Can't change dir to ‘XXX’ (Errcode: 13)

但是明明我已经配置好了路径以及文件的权限,mysqld却仍然不能启动

网上Google了很久,终于找到一个解决办法

mysql_install_db --user=mysql --ldata=/data/mysql

此命令运行时依然报错,但是运行完之后mysqld能启动并正常使用了

# /etc/init.d/mysqld start
Starting mysqld:                                           [OK]

具体原因不明,我猜想是SELinux的原因,因为RHEL6中SELinux默认是启用的
(当你新建文件的时候你会发现文件权限后面有个点,

$touch hello
$ls -l hello
total 0
-rw-r--r-- .  1 sunkun bioinformatics 0 Jul 10 11:55 hello

这就表明SELinux启用 )
----- ---------------------------------------------------------------------------------------------------------

当看到错误日志里面如下记录:

mysqld started

[Warning] Can't create test file xxx.lower-test
 [Warning] Can't create test file xxx.lower-test
/usr/libexec/mysqld: Can't change dir to '/xxx' (Errcode: 13)

 [ERROR] Aborting

首先检查数据目录和日志目录的权限和所属用户,如果权限和所属用户都没问题,那应该是SELINUX的权限限制了。

对你的数据目录和日志目录执行如下命令:

#chcon -R -t mysqld_db_t /xxx

一切问题迎刃而解



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值