आवारा बूटस्ट्रैप शेल स्क्रिप्ट में mysql- सर्वर स्थापित करना (सेटअप कैसे छोड़ें?)


16

मैंने अपने Vagrant Ubuntu 12.04 LTS वर्चुअल मशीन पर mysql-server को स्थापित करने का प्रयास किया। जब मैंने ऐसा किया, सेटअप ऑटो शुरू होता है। मैं इसे वैग्रंट आउटपुट में देख सकता हूं:

अनिवार्य नहीं है, यह अत्यधिक अनुशंसा की जाती है कि आप MySQL प्रशासनिक "रूट" उपयोगकर्ता के लिए एक पासवर्ड सेट करें। यदि यह फ़ील्ड रिक्त है, तो पासवर्ड नहीं बदला जाएगा। नया पासवर्ड MySQL "रूट" उपयोगकर्ता

उसके बाद आउटपुट टेक्स्ट हाईवायर हो जाता है - ± ├⎺ ⎼␊⎻┌▒␌␊ ┌␋␉⎽─┌␋├␊3-0 3.7.9-2┤␉┤┼├┤1 (┤⎽␋┼± ...- बल्कि लंबा और हरे और लाल रंगों से भरा होता है, इसलिए मेरा मानना ​​है कि बाकी की स्थापना पूरी हो रही है।

लेकिन मैं बाद में स्थापित करने की कमी की पुष्टि कर सकता हूं:

sudo apt-get install --just-print mysql-server-5.5 
...
The following NEW packages will be installed:
  mysql-server-5.5

मैं MYSQL सर्वर को कॉन्फ़िगर करने के लिए शेल स्क्रिप्ट के माध्यम से सही सिग्नल कैसे भेज सकता हूं? या अगर मैं नहीं कर सकता, तो मैं कॉन्फ़िगरेशन की स्वचालित लॉन्चिंग को कैसे रोक सकता हूं या पैकेज को स्थापित करते समय लॉन्च किए गए एक बार सेटअप को मार सकता हूं?


यदि बाकी की स्थापना पूरी हो रही है , तो यह आपको फिर से स्थापित करने की अनुमति नहीं देगा। क्या आपने स्थापना से पहले पासवर्ड सेट करने का प्रयास किया है?
एंथन जूल

@Anthon क्षमा करें मुझे नहीं लगता कि मैंने अपनी पोस्ट में यह अच्छी तरह से समझाया: मैं मैन्युअल रूप से इस सब को कॉन्फ़िगर कर सकता हूं, लेकिन मेरा लक्ष्य जितना संभव हो उतना अपने सेटअप को स्वचालित करना है। और मेरे पास इसके बाद कई कदम हैं जो mysql पर स्थापित होने (उदाहरण के लिए आरवीएम स्थापित करने) पर निर्भर करते हैं।
सैम

जब तक समस्याएं अशुद्ध प्रणाली के कारण नहीं होती हैं (स्वच्छ वर्चुअल मशीन सेटअप में स्थापित करने का प्रयास करें) यह पैकेज के साथ एक समस्या की तरह लगता है। ऐसे मामलों में मैंने कभी-कभी इंस्टॉलेशन फ़ाइल (पूर्ण पुनर्निर्माण नहीं, सिर्फ एक्स्ट्रेक्ट / चेंज / पुट-एक साथ) को पैच किया है और इसे स्थानीय रिपॉजिटरी से सेवा दी है।
एंथन

@Anthon: / मैं या तो एक समाधान खोजने की उम्मीद कर रहा था) क) एक MYSQL सर्वर पैकेज मौजूद है जो कॉन्फ़िगरेशन विज़ार्ड को स्वत: लॉन्च नहीं करता है या b) इस प्रकार के लॉन्च ( apt-get install mysql-server | some_trap_cmd >> some.file) को फंसाने के लिए एक bash-y तरीका था । लगता है कि शायद ऐसी कोई चीज मौजूद नहीं है?
सैम

समस्या यह है कि apt-get चलाता स्क्रिप्ट्स फ़ाइल के भीतर है, आप उन में एक जाल पकड़ने के लिए नहीं जा रहे हैं जब तक आप स्क्रिप्ट पैच। आप 5.6 myqql पर भी नज़र डाल सकते हैं और इसे लॉन्चपैड से स्थापित कर सकते हैं, लेकिन यह सभी निर्भरता में अधिक परेशानी पैदा कर सकता है, लेकिन शायद स्थापना की समस्याएं दूर हो गई हैं।
एंथन

जवाबों:


29

आप अपने बूटस्ट्रैप फ़ाइल में mySQL रूट पासवर्ड को अपने apt-get install से पहले डिबेंक-सेट-सेलेक्शन कमांड जोड़कर सेट कर सकते हैं:

#!/usr/bin/env bash

debconf-set-selections <<< 'mysql-server mysql-server/root_password password MySuperPassword'
debconf-set-selections <<< 'mysql-server mysql-server/root_password_again password MySuperPassword'
apt-get update
apt-get install -y mysql-server

मैं इसे किसी डेबियन आधारित प्रणाली पर काम करने के लिए मानता हूं। मैं इसे हर रोज उपयोग करता हूं, बॉक्स पूरी तरह से स्वचालित रूप से बनाया गया है।


1
बहुत बढ़िया! मैं इस आदेश को नहीं जानता था
अल्वारोव

1
मेरा debconf-set-selectionsअस्तित्व नहीं था। यह पूरी तरह से काम किया। धन्यवाद!
सैम

3

आप कठपुतली में देखना चाह सकते हैं - यह स्वचालित रूप से सॉफ़्टवेयर को स्थापित करने और कॉन्फ़िगर करने के लिए उत्कृष्ट है। एक MySQL मॉड्यूल भी है , लेकिन मैंने इसे आज़माया नहीं है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.