首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用主厨在MySQL上安装CentOS社区服务器

问使用主厨在MySQL上安装CentOS社区服务器
EN

Stack Overflow用户
提问于 2016-10-19 12:28:36
回答 3查看 1.5K关注 0票数 0

我尝试在MySQL社区服务器上安装CentOS7,使用来自超市:https://supermarket.chef.io/cookbooks/mysql的mysql厨师食谱

我的食谱档案:

metadata.rb

代码语言:javascript
复制
depends 'mysql', '~> 8.0.4'

default.rb

代码语言:javascript
复制
mysql_service 'db_some_data' do
  port '3306'
  version '5.7'
  initial_root_password 'abc123'
  action [:create, :start]
end

我执行了:

代码语言:javascript
复制
berks install
kitchen test -d never

并得到以下错误:

代码语言:javascript
复制
================================================================================
Error executing action `install` on resource 'yum_package[mysql-community-server]'
================================================================================

Chef::Exceptions::Package
-------------------------
No candidate version available for mysql-community-server

    Resource Declaration:
    ---------------------
    # In /tmp/kitchen/cache/cookbooks/mysql/libraries/mysql_server_installation_package.rb

     17:       package package_name do
     18:         version package_version if package_version
     19:         options package_options if package_options
     20:         notifies :install, 'package[perl-Sys-Hostname-Long]', :immediately if plaform_family?('suse')
     21:         notifies :run, 'execute[Initial DB setup script]', :immediately if platfom_family?('suse')
     22:         action :install
     23:       end
     24:

    Compiled Resource:
    ------------------
    # Declared in /tmp/kitchen/cache/cookbooks/mysql/libraries/mysql_server_installation_pckage.rb:17:in `block in <class:MysqlServerInstallationPackage>'

    yum_package("mysql-community-server") do
      package_name "mysql-community-server"
      action [:install]
      retries 0
      retry_delay 2
      default_guard_interpreter :default
      declared_type :package
      cookbook_name "obiwan"
      version "5.7.11-1.el7"
      flush_cache {:before=>false, :after=>false}
    end

    Platform:
    ---------
    x86_64-linux

它看起来像这个问题:https://github.com/chef-cookbooks/mysql/issues/443

耽误您时间,实在对不起!

EN

回答 3

Stack Overflow用户

发布于 2016-10-19 15:06:44

我怀疑您可能需要使用不同的食谱,因为下面的命令没有显示centos 7 repo中的mysql社区服务器。也许可以试试mariadb食谱。

代码语言:javascript
复制
yum provides mysql*

但是,如果您真的需要安装mysql社区服务器,您可能需要修改您的菜谱,如下所示

代码语言:javascript
复制
execute 'mysql-community-repo' do
 command 'yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
 action :run
end

 mysql_service 'db_some_data' do
  port '3306'
  version '5.7'
  initial_root_password 'abc123'
  action [:create, :start]
 end   

请记住,在启动mysql社区时,您可能会遇到与systemctl init脚本有关的一些问题。

票数 0
EN

Stack Overflow用户

发布于 2016-10-25 09:24:11

我设法通过以下更改修复了此设置:

metadata.rb

代码语言:javascript
复制
depends 'mysql'
depends 'mysql2_chef_gem'
depends 'database'

default.rb

代码语言:javascript
复制
mysql_client 'default' do
  action :create
end

mysql_service 'db_some_data' do
  port '3306'
  version '5.7'
  initial_root_password 'abc123'
  action [:create, :start]
end

mysql2_chef_gem 'default' do
  action :install
end
票数 0
EN

Stack Overflow用户

发布于 2019-03-11 19:26:02

这个问题的存在是因为https://supermarket.chef.io/cookbooks/mysql还不支持

代码语言:javascript
复制
cookbook 'mysql', '~> 8.0'

我添加了下面的依赖项,它运行得很好。

代码语言:javascript
复制
cookbook "yum-mysql-community", '~> 4.0.1'
cookbook 'mysql', '~> 6.0'
cookbook 'yum-centos', '~> 3.0.0'

这里要注意的另一件事是记住在菜谱中提供package_name。我的食谱是这样的:

代码语言:javascript
复制
mysql_service 'foo' do
  port '3306'
  version '5.7'
  package_name 'mysql-server' 
  initial_root_password 'root'
  action [:create, :start]
end

希望能帮上忙!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40131431

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档