2012-06-21 9 views
17

के साथ एक उपयोगकर्ता के साथ एक MySQL डेटाबेस सेट अप करना मैं एक प्रोजेक्ट पर डेवलपर सेटअप को स्वचालित करने की कोशिश कर रहा हूं, जैसे कि एक नया डेवलपर vagrant up को बस एक कस्टम के साथ MySQL और Tomcat के साथ VM प्राप्त करने के लिए जारी कर सकता है युद्ध-फ़ाइल तैनात और चल रही है। तैनात युद्ध-युद्ध मानता है कि एक विशेष डेटाबेस और उपयोगकर्ता MySQL उदाहरण पर मौजूद हैं।Vagrant और chef-solo

अब, मैं शेफ-एकल का उपयोग कर रहा हूं, और सबकुछ ठीक से बूट हो रहा है और इंस्टॉल हो रहा है। हालांकि, मुझे लगता है कि डेटाबेस और उपयोगकर्ता को स्थापित करने के लिए कुकबुक लिखना नहीं है। मैंने database कुकबुक में देखा है, लेकिन यह शेफ-एकल के साथ मेरे उपयोग के मामले में फिट नहीं लगता है। मैं एक उदाहरण सेटअप ऑनलाइन नहीं ढूंढ पाया जो शेफ-एकल उदाहरण के लिए डेटाबेस सेट करता है, लेकिन शायद मैं गलत शर्तों की खोज कर रहा हूं?

मैं डेटाबेस और उपयोगकर्ता (उन पर सशर्त मौजूदा नहीं) स्थापित करने के लिए एक बैश स्क्रिप्ट लिख सकता हूं, लेकिन यह कुकबुक दर्शन में फिट नहीं लगता है। आप इस समस्या को कैसे हल करेंगे?

उत्तर

3

शेफ एकल के लिए आपको कुछ कॉन्फ़िगरेशन करने की आवश्यकता होगी, आपने इसे किया है? विन्यास के बारे में मैं बात कर रहा हूँ रहे हैं here यही पृष्ठ कॉन्फ़िगर और एक रसोई की किताब, आप कर सकते हैं जिसके बाद चलाने के लिए कैसे की एक त्वरित छोटे डेमो प्रदान करता है: MySQL के लिए

कुकबुक है here बिलाव के लिए कुकबुक here

अन्य है कुकबुक here

यह निकटतम है जो मैंने आपके द्वारा प्रदान किए गए डेटा के आधार पर प्राप्त कर सकते हैं। एक बार जब आप इसे कॉन्फ़िगर कर लेते हैं और सामान सेट करते हैं, तो यदि आपको त्रुटियों का सामना करना पड़ता है, तो उन्हें पोस्ट करें। और उम्मीद है कि मैं सहायक था :)

मैं पहले शेफ सोलो को कॉन्फ़िगर करता हूं और फिर कॉन्फ़िगर निर्देशिकाओं में से एक में कुकबुक रखता हूं।

+0

मैं पहले से ही एक पूर्ण महाराज-एकल सेटअप जो टॉमकैट इंस्टॉल करता है, मेरी युद्ध की प्रतिलिपि बनाता है, MySQL स्थापित करता है आदि। वर्तमान में, मैंने एक कस्टम कुकबुक बनाया है जो डेटाबेस बनाने के लिए बस बैश का उपयोग करता है, लेकिन मैं एक कस्टम उपयोगकर्ता आदि स्थापित करने के लिए बैश का उपयोग करने में संकोच करता हूं। यहां वर्तमान नुस्खा है I डेटाबेस बनाने के लिए लिखा है: bash "डेटाबेस बनाने का प्रयास कर रहा है" foo '" कोड << - ईओएम mysql -uroot -e 'डेटाबेस मौजूद नहीं है अगर foo' ईओएम – Thomas

+0

हां, लेकिन यदि आप शेफ वेबसाइट से व्यंजन डाउनलोड करते हैं, तो वे रूबी स्क्रिप्ट होंगे। या आप कुछ और ढूंढ रहे हैं? –

+0

मेरे पास MySQL और दोस्तों के साथ एक छवि सेट करने के लिए आवश्यक सभी व्यंजन हैं। मेरी समस्या बाद में MySQL को कॉन्फ़िगर कर रही है। मुझे सर्वर पर एक उपयोगकर्ता और डेटाबेस जोड़ने की जरूरत है। मुझे पता है कि ऐसा करने के लिए अपना खुद का नुस्खा कैसे लिखना है, बैश में चारों ओर हैकिंग करना, लेकिन ऐसा करने का यह एक बेवकूफ तरीका प्रतीत नहीं होता है। मैं यह पता लगाने की कोशिश कर रहा हूं कि मेरे उपयोग मामले को हल करने के लिए शेफ-एकल के लिए 'डेटाबेस' नुस्खा का उपयोग किया जा सकता है या नहीं। मुझे डर है कि मेरा मूल सवाल पर्याप्त स्पष्ट नहीं था। क्या इसका कोई मतलब है? – Thomas

20

हाँ आप इसे database रसोई की किताब के साथ सिर्फ इस तरह बावर्ची तरह से कर सकते हैं:

इस रसोई की किताब के बारे में
include_recipe "database::mysql" 

# create a mysql database 
mysql_database 'sonar' do 
    connection ({:host => "localhost", :username => 'root', :password => node['mysql']['server_root_password']}) 
    action :create 
end 

अधिक यहां पाया जा सकता: http://community.opscode.com/cookbooks/database

संबंधित मुद्दे