我在 EC2 上运行,并希望在另一个 EBS 上拥有 MYSQL 的数据目录。我在 /data 上安装了 EBS (ext3) 并将 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
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
如果您在像 Ubuntu 这样的发行版上运行,那么 AppArmor 可能会阻止 mysqld 访问不同目录中的文件。如果您检查系统日志文件,您会发现一条与此相关的神秘错误消息。
解决方案包括:
禁用 AppArmor(不推荐)
编辑 AppArmor 规则(复杂)
使用“挂载绑定”使 MySQL 认为您的数据文件在原始位置,而它们实际上已在 EBS 卷上。将您的更改恢复到 datadir。
多年前,我为 Amazon 写了一篇文章,描述了社区最佳实践,包括您正在尝试执行的操作,包括安装绑定示例的命令:
使用 EBS 在 Amazon EC2 上运行 MySQL
http://ec2ebs-mysql.notlong.com
请注意,文章中的 AMI id 是旧的。使用现代 Ubuntu AMI,您需要将 mkfs.xfs 和 /etc/fstab(但不在 ec2 工具命令行中)中的 /dev/sdh 替换为 /dev/xvdh。
| 归档时间: |
|
| 查看次数: |
2928 次 |
| 最近记录: |