mysql提示[Warning] Cant create test file xxx lower-test
发布:smiling 来源: PHP粉丝网 添加日期:2014-09-28 11:48:31 浏览: 评论:0
在linux中碰到提示mysql提示[Warning] Cant create test file xxx lower-test了,下面有碰到此类问题的朋友一起来看看解决办法.
我想,你一定是从搜索引擎搜索这个标题进来的,你一定是想改变mysql默认安装的数据目录,你已经修改了my.cnf中的datadir的值,首先是查看数据库日志.
- 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
你已经chown和chmod了数次新数据目录或者其父路径的属主和权限,你无数次地试图service mysql start,或者 /etc/init.d/mysql start,以及mysql_install_db!
恭喜你看见这篇文章,我在被系统坑了几个小时之后,了解决的方法.
这个原因有二,其中任意的一个原因都会造成你被系统告知这个warning,如果你不是一个专业的linux系统安全工程师,或者你只是个PHP程序员,并没有对系统安全有深入的研究,你就不会太容易找到它的答案.
第一,selinux,记得当年念书时,字符界面安装redhat,很古老的操作系统的时候,有这么一个选项,通常大家都听取前辈的建议,改变默认值以不安装它。但如果你恰好要操作的这台机器开着selinux,它确实能够使你的mysql无法在新目标位置进行mysql_install_db的操作,并爆出标题所示的警告。一个简单的解决办法是使用命令暂时关闭selinux,以便让你的操作可以继续下去
setenforce 0
但最好使用一个永久方法,以便在重启后继续不要这货.
修改/etc/selinux/config文件中设置SELINUX=disabled,然后重启或等待下次重启.
第二,apparmor,这个坑爹货和selinux一样的坑爹,它也对mysql所能使用的目录权限做了限制,在 /etc/apparmor.d/usr.sbin.mysqld 这个文件中,有这两行,规定了mysql使用的数据文件路径权限.
/var/lib/mysql/ r,
/var/lib/mysql/** rwk,
你一定看到了,/var/lib/mysql/就是之前mysql安装的数据文件默认路径,apparmor控制这里mysqld可以使用的目录的权限,我想把数据文件移动到/data/mysql下,那么为了使mysqld可以使用/data/mysql这个目录,照上面那两条,增加下面这两条就可以了.
/data/mysql/ r, //phpfensi.com
/data/mysql/** rwk,
重启apparmor,/etc/inid.d/apparmor restart,之后,就可以顺利地干你想干的事儿了.
Tags: mysql提示[Warning] lower-test
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)