MySQL [Warning] Can’t create test file xxx lower-test(转)

add by zhj:修改的数据库的datadir,然后数据库就无法启动了,错误如下

2014-12-11 16:22:57 26309 [Warning] Can‘t create test file /data/mysql/server2.lower-test
2014-12-11 16:22:57 26309 [Warning] Can‘t create test file /data/mysql/server2.lower-test
2014-12-11 16:22:57 26309 [Warning] Buffered warning: Changed limits: max_open_files: 1024 (requested 5000)

2014-12-11 16:22:57 26309 [Warning] Buffered warning: Changed limits: table_cache: 431 (requested 2000)

2014-12-11 16:22:57 26309 [Note] Plugin ‘FEDERATED‘ is disabled.
^G/usr/sbin/mysqld: Can‘t find file: ‘./mysql/plugin.frm‘ (errno: 13 - Permission denied)
2014-12-11 16:22:57 26309 [ERROR] Can‘t open the mysql.plugin table. Please run mysql_upgrade to create it.

后面找到了这篇文章,解决了问题。另外要说明的是,apparmor不仅仅限制了mysql的datadir目录,还限制了config,log等等的目录。

SELinux之于MySQL 这篇文章也写的很好。

原文:http://www.huoxingfan.com/834.html

我想,你一定是从搜索引擎搜索这个标题进来的!你一定是想改变mysql默认安装的数据目录

你已经修改了my.cnf中的datadir的值

你已经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,

/data/mysql/** rwk,

重启apparmor,/etc/inid.d/apparmor restart

之后,就可以顺利地干你想干的事儿了。

时间: 2024-10-24 18:14:24

MySQL [Warning] Can’t create test file xxx lower-test(转)的相关文章

MYSQL Out of resources when opening file './xxx.MYD' (Errcode: 24)

出现Out of resources when opening file './xxx.MYD' (Errcode: 24)错误是因为打开的文件数超过了my.cnf的--open-files-limit.open-files-limit选项无法在mysql命令行直接修改,必须在my.cnf中设定,最大值是65536. 重新启动mysqld, mysql> show variables like 'open%'; +------------------+-------+ | Variable_na

MYSQL Out of resources when opening file './xxx.MYD' (Errcode: 24) 解决

出现Out of resources when opening file './xxx.MYD' (Errcode: 24)错误是因为打开的文件数超过了my.cnf的--open-files-limit.open-files-limit选项无法在mysql命令行直接修改,必须在my.cnf中设定,最大值是65536. 重新启动mysqld, mysql> show variables like 'open%';+------------------+-------+| Variable_name

mysql报Can't create/write to file '/tmp/ib0n3frL' (Errcode: 13 - Permission denied)

初始化数据库报错 [[email protected] mysql-5.6.24]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data Installing MySQL system tables...2017-04-03 19:52:21 0 [Warning] TIMESTAMP with implicit DEFA

Mysql 的MYISAM引擎拷贝出现异常——Incorrect information in file 'xxx.frm'

MYISAM引擎有三个文件 .FRM    存储表结构 .MYD    存储数据 .MYI   存储索引 当复制表时,将这三个文件同时复制到指定目录下. 异常处理: 1. Incorrect information in file 'xxx.frm' 无论怎么复制重启,访问数据库都会出现这个问题. 解决办法:表使用MyISAM引擎,并且创建表结构(已知情况下), 备份,x.frm,x.MYI,x.MYD三个文件, 从mysql data目录删除 一般是/var/lib/mysql目录下 再次创建

Warning: Multiple build commands for output file /xxx

xcode中 有时候会报一个警告: [WARN]Warning: Multiple build commands for output file /xxx 要解决这个问题很简单: 1.选择你的工程 2.选择target 3.点击 Build Phases 4.展开Copy Bundle Resources 5.删除里面的刚才提示警告的文件,一般为红色的名字的文件(或者有重复的文件)

mysql导入文件数据时错误: ERROR 29 (HY000): File 'xxx.txt' not found (Errcode: 13)

突然遇到mysql错误:ERROR 29 (HY000): File '/var/www/xiaoyou/static/upload/import/20130427105733.csv.txt' not found (Errcode: 13) 感觉特奇怪,因为程序在本地很ok,生气了语句如下: LOAD DATA INFILE '/var/www/upload/abc.csv.txt' INTO TABLE alumni_import FIELDS TERMINATED BY ',' OPTIO

Git error: unable to create file xxx: Filename too long

一.问题描述 在使用 git 时,提示 error: unable to create file xxx: Filename too long error: unable to create file xxx: Filename too long error: unable to create file xxx: Filename too long error: unable to create file xxx: Filename too long error: unable to creat

mysql [ERROR] Can't create IP socket: Permission denied

/*************************************************************************** * mysql [ERROR] Can't create IP socket: Permission denied * 说明: * 在嵌入式方面的,这种权限问题还是挺大的,而且有时候还不好找. * * 2016-9-27 深圳 南山平山村 曾剑锋 *************************************************

Java连接MySQL Warning: Establishing SSL connection without server's identity verification is not recommended

1. 数据库 1.1 创建表 在当前数据库students中,创建数据表student: 1 mysql> create table student( 2 -> studentid char(10),#学生ID 3 -> name varchar(10),#学生姓名 4 -> age smallint,#学生年龄 5 -> grade smallint)#成绩 6 -> ; 1.2 插入信息: INSERT student VALUES("1*********