我有一个运行 CentOS 6.5 的 AWS 实例。它已针对网络托管 (LAMP) 进行了更新、保护和设置。我将 EBS 卷附加到实例并将其安装在 /data
下.
两个问题:
如何让 MySQL 使用
/data
目录作为其数据库存储位置? (我不想从/data
目录运行程序,只需将 .sql 文件放在那里即可。我如何对我的网站执行同样的操作?我计划运行一个 WordPress 网站,其当前位置位于
/var/www/html
目录。我想将其更改为/data/site
.
我想将网站文件和数据库保留在单独的卷上:/data
。如果我的实例损坏或无法访问,我可以将 EBS 卷附加到新实例。
我已经阅读了数十篇关于如何将 MySQL 移动到不同目录的教程和文章,但没有任何效果。之后 MySQL 拒绝启动。我可以按原样安装 MySQL,但让它在不同的目录(例如 /data
)上读/写数据库吗?这是一个已安装的 EBS 卷,还是 Linux 根本不可能实现?
以下是我一直在关注/测试的一些教程和文章:
aws.amazon.com/articles/1663?_encoding=UTF8&jiveRedirect=1
spruce.it/noise/setting-up-a-proper-lamp-stack-on-aws-ec2-ebs/
编辑: 这就是我正在做的事情。
使用此 ami 创建一个新实例:
https://aws.amazon.com/marketplace/pp/B00IOYDTV6?ref=cns_srchrow
实例启动后,我使用以下命令运行更新:
sudo yum update -y
更新后,我使用以下说明将其设置为 LAMP Web 服务器:
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-LAMP.html
除了上述步骤之外,我还允许内置防火墙上的端口 80 tcp 连接。我运行这些命令:sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
和sudo service iptables save
完成此操作后,我会在http://IP-ADDRESS
测试我的网站。 (这显示了 Apache 测试页面)安装 LAMP 后,我通过运行以下命令来安装 MySQL 服务器:
yum install mysql-server
安装完成后,我将继续执行上一个 Amazon 文档中的“保护 MySQL 服务器”说明。接下来,我使用这两个教程安装 PHPMyAdmin:
http://tecadmin.net/installing-apache-mysql-php-on-centos-redhat/#
和http://tecadmin.net/how-to-install-phpmyadmin-on-centos-using-yum/
此时,我已经拥有一个功能齐全的 Web 服务器。现在,我想使用AWS EBS卷来存储所有数据库和网站文件。首先,我附加新创建的 AWS EBS 卷。我使用本教程来执行此操作:
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-using-volumes.html
这就是问题开始的地方。
使用本教程中的信息:aws.amazon.com/articles/1663?_encoding=UTF8&jiveRedirect=1
。它说失败。
最佳答案
因此,您可以做的一件事是避免复制所有目录。您需要确保所有权限均已正确设置才能正常工作:
mysql 数据目录:
mv /var/lib/mysql /var/lib/mysql.orig mkdir -p /<your-new-ebs-mountpoint>/var/lib/mysql chown mysql.mysql /<your-new-ebs-mountpoint>/var/lib/mysql chmod 700 /<your-new-ebs-mountpoint>/var/lib/mysql
等配置:
mkdir -p /<your-new-ebs-mountpoint>/etc cp /etc/my.cnf /<your-new-ebs-mountpoint>/etc/my.cnf mv /etc/my.cnf /etc/my.cnf.orig ln -s /<your-new-ebs-mountpoint>/etc/my.cnf /etc/my.cnf
日志:
mkdir -p /<your-new-ebs-mountpoint>/var/log mv /var/log/mysqld.log /var/log/mysqld.log.orig touch /<your-new-ebs-mountpoint>/var/log/mysqld.log chown mysql.mysql /<your-new-ebs-mountpoint>/var/log/mysqld.log chmod 640 /<your-new-ebs-mountpoint>/var/log/mysqld.log ln -s /<your-new-ebs-mountpoint>/var/log/mysqld.log /var/log/mysqld.log
关于mysql - AWS CentOS 6.5 实例 + AWS EBS 卷用于 Web 托管文件和数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23296453/