mysql亚马逊ec2“;Can';t创建测试文件";错误
我在EC2上运行,希望在另一个EBS上使用MYSQL的datadir。我在/data上安装了EBS(ext3),并将my.cnf中的datadir更改为指向该dir。但是,当我尝试启动mysql时,我遇到以下错误:mysql亚马逊ec2“;Can';t创建测试文件";错误,mysql,amazon-ec2,Mysql,Amazon Ec2,我在EC2上运行,希望在另一个EBS上使用MYSQL的datadir。我在/data上安装了EBS(ext3),并将my.cnf中的datadir更改为指向该dir。但是,当我尝试启动mysql时,我遇到以下错误: 120518 03:53:17 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended 120518 03:53:28 mysqld_safe Starting mysqld daemon with data
120518 03:53:17 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
120518 03:53:28 mysqld_safe Starting mysqld daemon with databases from /data/mysql/
120518 3:53:28 [Warning] Can't create test file /data/mysql/ip-10-136-23-225.lower-test
120518 3:53:28 [Warning] Can't create test file /data/mysql/ip-10-136-23-225.lower-test
/usr/libexec/mysqld: Can't change dir to '/data/mysql/' (Errcode: 13)
120518 3:53:28 [ERROR] Aborting
120518 3:53:28 [Note] /usr/libexec/mysqld: Shutdown complete
120518 03:53:28 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
有什么想法吗?将/data目录的所有者更改为mysqld进程所有者(chown owner/data)。或者(chmod 777-R/data)非常不安全。如果您运行的是像Ubuntu这样的发行版,那么AppArmor可能会阻止mysqld访问其他目录中的文件。如果你检查你的系统日志文件,你会发现一个神秘的错误消息 解决方案包括:
请注意,本文中的AMI id是旧的。使用现代Ubuntu AMI,您需要在mkfs.xfs和/etc/fstab(但不在ec2工具命令行中)中将/dev/sdh替换为/dev/xvdh。如果您正在运行Ubuntu,则可能会由于apparmor服务而遇到此错误。为了避开这件事。要绕过它,您需要执行以下操作: 1) 编辑“/etc/apparmor.d/usr.sbin.mysqld”并添加以下行:
/opt/lib/mysql/ r,
/opt/lib/mysql/** rwk,
( assuming your new data directory is in /opt/lib/mysql )
2) 重新启动apparmor服务:
sudo service apparmor restart