带有 AWS Opsworks Mysql 层的 Mysql 5.6?
Posted
技术标签:
【中文标题】带有 AWS Opsworks Mysql 层的 Mysql 5.6?【英文标题】:Mysql 5.6 with AWS Opsworks Mysql Layer? 【发布时间】:2015-02-07 19:21:09 【问题描述】:我正在寻找可能知道如何在 Opsworks mysql 层上覆盖默认安装的 MySql 5.5 的人。
我已经尝试启用 ius repo,然后使用自定义配方来安装 mysql56u-server、mysql56u-common 软件包,但是由于 mysql 在安装过程中较早安装,到目前为止所有尝试都失败了。
我还没有找到为 mysql55 选择包的实际配方。
有人对此有任何见解吗?
非常感谢任何帮助!
【问题讨论】:
我发现了这一点,只需使用自定义食谱 mysql::server 配方覆盖默认的 mysql 食谱,将其修改为使用 ius repos,根据 ius repo 更新包名称并且它可以工作! 【参考方案1】:查看mysql Cookbook provided by AWS,安装客户端的配方(recipes/client_install.rb)包括以下内容:
case node[:platform]
when "redhat", "centos", "fedora", "amazon"
package mysql_name
else "ubuntu"
package "mysql-client"
end
mysql_name 变量在配方的前面设置:
mysql_name = node[:mysql][:name] || "mysql"
查看属性文件(attributes/server.rb),默认值是根据Host的OS设置的:
if rhel7?
default[:mysql][:name] = "mysql55-mysql"
else
default[:mysql][:name] = "mysql"
end
您可以根据需要覆盖名称值:
default[:mysql][:name] = "mysql56u"
这可以通过在您的自定义食谱中配置您自己的customize attributes file 来实现,或者只是在您的堆栈设置中使用以下自定义 JSON:
"mysql":
"name": "mysql56u"
【讨论】:
以上是关于带有 AWS Opsworks Mysql 层的 Mysql 5.6?的主要内容,如果未能解决你的问题,请参考以下文章
AWS OpsWorks:如何设置每层的默认 EBS 卷大小?