【问题标题】:mysql amazon ec2 "Can't create test file" errormysql amazon ec2“无法创建测试文件”错误
【发布时间】:2013-11-27 08:17:16
【问题描述】:

我在 EC2 上运行,并希望在另一个 EBS 上拥有 MYSQL 的数据目录。我将 EBS (ext3) 安装在 /data 上,并将 my.cnf 中的 datadir 更改为指向该目录。但是,当我尝试启动 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 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

有什么想法吗?

【问题讨论】:

    标签: mysql amazon-ec2


    【解决方案1】:

    如果您在 Ubuntu 之类的发行版上运行,那么 AppArmor 可能会阻止 mysqld 访问不同目录中的文件。如果你检查你的系统日志文件,你会发现一个神秘的错误信息。

    解决方案包括:

    1. 禁用 AppArmor(不推荐)

    2. 编辑 AppArmor 规则(复杂)

    3. 使用“挂载绑定”使 MySQL 认为您的数据文件位于原始位置,而它们实际上位于 EBS 卷上。恢复对 datadir 的更改。

    几年前我为 Amazon 写了一篇文章,描述了您正在尝试做的事情的社区最佳实践,包括挂载绑定示例的命令:

    使用 EBS 在 Amazon EC2 上运行 MySQL
    http://ec2ebs-mysql.notlong.com

    请注意,文章中的 AMI id 是旧的。使用现代 Ubuntu AMI,您需要将 mkfs.xfs 和 /etc/fstab 中的 /dev/sdh 替换为 /dev/xvdh(但不是在 ec2 工具命令行中)。

    【讨论】:

      【解决方案2】:

      如果您运行的是 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
      

      【讨论】:

        【解决方案3】:

        将 /data 目录的所有者更改为 mysqld 进程所有者(chown owner /data)。或 (chmod 777 -R /data) 非常不安全。

        【讨论】:

          猜你喜欢
          • 2017-05-21
          • 2013-05-30
          • 2012-01-27
          • 2010-11-02
          • 2018-11-18
          • 2013-07-21
          • 2011-11-03
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多