ServBay में MariaDB डेटाबेस सेटिंग्स कॉन्फ़िगर करना
ServBay डिवेलपर्स के लिए एक शक्तिशाली लोकल वेब डिवेलपमेंट एन्वायरनमेंट प्रदान करता है, जिसमें एकीकृत और आसानी से प्रबंधित किया जा सकने वाला MariaDB डेटाबेस भी शामिल है। इस दस्तावेज़ में यह विस्तार से बताया गया है कि आप ServBay में MariaDB की विभिन्न सेटिंग्स को कैसे बदल सकते हैं, विशेष रूप से यूआई (UI) के माध्यम से सेटिंग्स को बदलने के अनुशंसित तरीके पर, साथ ही कॉन्फ़िगरेशन फ़ाइलों की भूमिका और कुछ सामान्य विकल्पों को भी समझाया गया है।
लक्षित पाठक: वेब डिवेलपर्स जो ServBay के साथ लोकल डिवेलपमेंट करते हैं, विशेष रूप से वे उपयोगकर्ता जिन्हें MariaDB डेटाबेस की व्यवहार-संबंधी सेटिंग्स को समायोजित करने की आवश्यकता है।
अवलोकन
MariaDB की कॉन्फ़िगरेशन यह निर्धारित करती है कि डेटाबेस सर्वर कैसे काम करेगा, जैसे नेटवर्क लिसनिंग, कनेक्शन लिमिट, कैश साइज़, लॉगिंग आदि। ServBay में, आप इन सेटिंग्स को ग्राफिकल इंटरफ़ेस के ज़रिए आसानी से बदल सकते हैं, जिससे आपको जटिल फ़ाइलों को सीधे एडिट करने की आवश्यकता नहीं पड़ती। हालाँकि my.cnf जैसी कॉन्फ़िगरेशन फ़ाइलें MariaDB की मानक व्यवस्था है, ServBay एन्वायरनमेंट में हम UI के ज़रिए ही बदलाव की जोरदार अनुशंसा करते हैं ताकि सेटिंग्स स्थिर और टिकाऊ रहें।
MariaDB के वर्शन के अनुसार, इसकी कॉन्फ़िगरेशन फ़ाइल आमतौर पर ServBay इंस्टॉलेशन डायरेक्ट्री के /Applications/ServBay/etc/mariadb/<version>
पथ में पाई जाती है।
महत्वपूर्ण सूचना: सर्वप्रथम ServBay UI का ही उपयोग करें
कॉन्फ़िगरेशन संघर्ष और ओवरराइटिंग के जोखिम से बचाव के लिए, हम आपको जोरदार सलाह देते हैं कि आप MariaDB सेटिंग्स में बदलाव ServBay के ग्राफिकल यूज़र इंटरफ़ेस के ज़रिए ही करें। ServBay आपकी UI सेटिंग्स के आधार पर स्वत: ही अंतर्निहित कॉन्फ़िगरेशन फ़ाइलों को जनरेट व प्रबंधन करता है। मैन्युअल रूप से बदलाव सिर्फ अस्थायी डिबगिंग के लिए हैं—इन बदलावों को किसी भी समय ServBay की आंतरिक व्यवस्थापना द्वारा ओवरराइट किया जा सकता है।
ServBay UI के ज़रिए सेटिंग्स बदलना (अनुशंसित)
ServBay एक सहज ग्राफिकल इंटरफ़ेस प्रदान करता है, जिससे आप MariaDB के सामान्य कॉन्फ़िगरेशन पैरामीटर्स को आसानी से देख और बदल सकते हैं। यह तरीका न सिर्फ सुरक्षित है, बल्कि बदलाव तुरंत प्रभावी हो जाते हैं और आपको सेवा को मैन्युअली रीस्टार्ट करने की ज़रूरत भी नहीं होती।
ServBay प्रबंधन इंटरफ़ेस खोलें: ServBay ऐप्लिकेशन शुरू करें।
डेटाबेस सेटिंग्स पर जाएँ: ServBay के बाएँ नेविगेशन पैनल में
डेटाबेस
मेन्यू एक्सपैंड करें औरMariaDB
को चुनें।MariaDB का संस्करण चुनें: यदि आपके पास MariaDB के कई वर्शन इंस्टॉल हैं, तो जिस वर्शन के लिए आप सेटिंग्स बदलना चाहते हैं, उसे चुनें।
कॉनफ़िगरेशन पैरामीटर बदलें: MariaDB कॉन्फ़िगरेशन इंटरफ़ेस पर ये प्रमुख विकल्प देखे और बदलें:
- डिफ़ॉल्ट यूज़रनेम और Root पासवर्ड: यहाँ आप (कुछ वर्शनों में) डिफ़ॉल्ट
root
यूज़र का पासवर्ड देख या रीसेट कर सकते हैं। - लिसन एड्रेस (
bind-address
): MariaDB किस नेटवर्क इंटरफ़ेस को लिसन करता है यह नियंत्रित करता है। डिफ़ॉल्ट आमतौर पर0.0.0.0
है, अर्थात सभी नेटवर्क इंटरफेस पर लिसन करता है, जिससे लोकल और संभावित रिमोट कनेक्शन (यदि फ़ायरवाल अनुमति दे) संभव हैं। आप इसे सिर्फ लोकल कनेक्शन हेतु127.0.0.1
याlocalhost
पर बदल सकते हैं। - पोर्ट (
port
): MariaDB का TCP पोर्ट नंबर, डिफ़ॉल्ट3306
। - अधिकतम कनेक्शन (
max_connections
): एक समय में कितने क्लाइंट्स MariaDB से जुड़ सकते हैं, यह सेट करें। इसका चुनाव अपनी एप्लीकेशन और सिस्टम रिसोर्स के आधार पर करें। - अधिकतम अनुमत पैकेट साइज (
max_allowed_packet
): एकल संचार पैकेट का अधिकतम साइज नियंत्रित करें। यह विशेष रूप से बड़े BLOB डेटा के साथ SQL क्वेरीज पर असर डालता है। - धीमी क्वेरी लॉग सक्रिय (slow_query_log): धीमी क्वेरी के लॉग को सक्षम करें—इससे प्रदर्शन संबंधित समस्याओं को डाइग्नोज़ किया जा सकता है।
- धीमी क्वेरी लॉग फ़ाइल (
slow_query_log_file
): धीमी क्वेरी लॉग का पाथ निर्दिष्ट करें (आमतौर पर/Applications/ServBay/logs/mariadb/
में)। - धीमी क्वेरी टाइम थ्रेशोल्ड (
long_query_time
): (सेकंड में) वह सीमा तय करें, जिसके ऊपर जितनी देर क्वेरी चलेगी, उसे धीमी क्वेरी लॉग में दर्ज किया जाएगा। - बफ़र पूल साइज (
innodb_buffer_pool_size
): InnoDB स्टोरेज इंजन के लिए सबसे महत्वपूर्ण सेटिंग्स में से एक—यह टेबल डेटा एवं इंडेक्स कैश करता है। इसे बढ़ाकर प्रदर्शन में सुधार लाया जा सकता है, लेकिन अधिक RAM की आवश्यकता होगी। - कैरेक्टर सेट व कोलेशन (
character-set-server
,collation-server
): सर्वर का डिफ़ॉल्ट कैरेक्टर सेट और कोलेशन सेट करें। ये डेटा स्टोरेज और तुलना को प्रभावित करते हैं।utf8mb4
आजकल सबसे अधिक अनुशंसित है, जिसमें Emoji भी सपोर्ट होते हैं।
- डिफ़ॉल्ट यूज़रनेम और Root पासवर्ड: यहाँ आप (कुछ वर्शनों में) डिफ़ॉल्ट
बदलाव सहेजें और लागू करें: सभी परिवर्तन करने के बाद, इंटरफ़ेस के नीचे स्थित
सहेजें
बटन पर क्लिक करें। ServBay स्वतः कॉन्फ़िगरेशन अपडेट करके बैकग्राउंड में MariaDB सेवा को रीस्टार्ट या री-लोड कर देगा, जिससे बदलाव तुरन्त असरदार होंगे।
चित्र: ServBay UI के माध्यम से MariaDB कॉन्फ़िगरेशन इंटरफ़ेस
कॉन्फ़िगरेशन फ़ाइल मैन्युअली एडिट करना (अनुशंसित नहीं, अस्थायी डिबगिंग हेतु)
हालाँकि यह तरीका अनुशंसित नहीं है, किंतु MariaDB कॉन्फ़िगरेशन फ़ाइल की लोकेशन और स्ट्रक्चर को समझना, डीप अंडरस्टैंडिंग और तात्कालिक डिबगिंग के लिए लाभकारी साबित होता है।
जोखिम सूचना: मैन्युअल बदलाव ओवरराइट हो सकते हैं
ServBay द्वारा प्रबंधित कॉन्फ़िगरेशन फ़ाइलों (जैसे my.cnf
) को मैन्युअली एडिट करना अनुशंसित नहीं है, क्योंकि ServBay जब सेवा या सॉफ़्टवेयर पैकेज को प्रबंधित या अपडेट करता है, तो ये फाइलें पुनः जेनरेट हो सकती हैं, जिससे आपके मैन्युअल बदलाव मिट जाएंगे। कृपया हमेशा प्राथमिकता के लिए ServBay UI का ही प्रयोग करें। यदि आपको मैन्युअल रूप से बदलना ही पड़े, तो इसकी अस्थायिता को समझ लें, और कोशिश करें कि UI में संबद्ध सेटिंग की स्थायी प्रविष्टि करें।
कॉन्फ़िगरेशन फ़ाइल लोकेशन
ServBay में MariaDB की मुख्य सेटिंग फ़ाइल my.cnf
है, जिसकी वास्तविक लोकेशन MariaDB वर्शन पर निर्भर करती है।
- मुख्य कॉन्फ़िगरेशन फ़ाइल:
/Applications/ServBay/etc/mariadb/<version>/my.cnf
उदाहरण के लिए, MariaDB 11.5 वर्शन में फ़ाइल का पथ होगा: /Applications/ServBay/etc/mariadb/11.5/my.cnf
।
my.cnf
फ़ाइल का संरचना और सामान्य सेटिंग्स
my.cnf
एक टेक्स्ट फ़ाइल है, जिसमें INI फ़ॉर्मेट में सेटिंग्स लिखी जाती हैं। सेटिंग्स विभाजन अलग-अलग [section]
में की जाती हैं—सर्वर के लिए सामान्य रूप से [mysqld]
सेक्शन होता है।
यहाँ कुछ सामान्य सेटिंग्स के उदाहरण दिए गए हैं (जो UI में भी दिखते हैं):
लिसन एड्रेस बदलना (
bind-address
)ini[mysqld] bind-address = 0.0.0.0
1
2यदि
0.0.0.0
रखें तो किसी भी नेटवर्क इंटरफ़ेस से कनेक्शन संभव होगा। यदि सिर्फ लोकल से कनेक्शन चाहिए तो127.0.0.1
याlocalhost
पर सेट करें।पोर्ट बदलना (
port
)ini[mysqld] port = 3306
1
2MariaDB सेवा का लिसनिंग पोर्ट।
अधिकतम कनेक्शन बदलना (
max_connections
)ini[mysqld] max_connections = 200
1
2एक समय में कनेक्ट हो सकने वाले क्लाइंट्स की अधिकतम संख्या।
InnoDB बफर पूल साइज बदलना (
innodb_buffer_pool_size
)ini[mysqld] innodb_buffer_pool_size = 256M
1
2InnoDB डाटा व इंडेक्स कैश के लिए आरक्षित मेमोरी स्पेस। यूनिट K, M, G में हो सकती है।
एरर लॉग फ़ाइल पथ बदलना (
log_error
)ini[mysqld] log_error = /Applications/ServBay/logs/mariadb/error.log
1
2MariaDB के एरर लॉग का स्थान निर्दिष्ट करें।
धीमी क्वेरी लॉग सक्षम करना (
slow_query_log
,slow_query_log_file
,long_query_time
)ini[mysqld] slow_query_log = 1 slow_query_log_file = /Applications/ServBay/logs/mariadb/slow.log long_query_time = 2 # सेकंड में, 2 सेकंड से अधिक चलने वाली क्वेरीज दर्ज होंगी
1
2
3
4slow_query_log = 1
लॉग सक्षम करता है,slow_query_log_file
लॉग फ़ाइल का पथ औरlong_query_time
दर्ज की जाने वाली धीमी क्वेरी की समयसीमा तय करता है।कैरेक्टर सेट और कोलेशन बदलना (
character-set-server
,collation-server
)ini[mysqld] character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci
1
2
3सर्वर का डिफ़ॉल्ट कैरेक्टर सेट और कोलेशन सेट करें।
परिवर्तनों को लागू करना: MariaDB सेवा को रीस्टार्ट करें
चाहे आप ServBay UI से सेटिंग बदलें या अस्थायी रूप से कॉन्फ़िगरेशन फाइल को एडिट करें (अनुशंसित नहीं), अधिकांश बार बदलाव पूरी तरह असरदार करने के लिए MariaDB को रीस्टार्ट करने की आवश्यकता रहती है। ServBay दो सुविधाजनक रीस्टार्ट तरीके उपलब्ध कराता है।
ServBay प्रबंधन इंटरफ़ेस से रीस्टार्ट करना
यह सबसे आसान तरीका है:
- ServBay प्रबंधन इंटरफ़ेस खोलें।
- बाएँ साइडबार में
सॉफ्टवेयर पैकेज
मेन्यू (नोट: पुराने वर्शन में इसेसेवाएँ
कहा गया है) एक्सपैंड करें। - वांछित MariaDB वर्शन का सॉफ्टवेयर पैकेज ढूँढें।
- उस पैकेज के बगल में
रीस्टार्ट
बटन पर क्लिक करें।
servbayctl
कमांडलाइन टूल से रीस्टार्ट करना
servbayctl
एक कमांडलाइन टूल है जिसके ज़रिए आप ServBay के सॉफ्टवेयर पैकेज और सेवाएँ प्रबंधित कर सकते हैं।
टर्मिनल खोलें और नीचे दिया गया कमांड चलाएँ, अपने MariaDB वर्शन के लिए सेवा रीस्टार्ट करने हेतु:
bash
servbayctl restart mariadb <version>
1
कृपया <version>
को उस MariaDB संस्करण से बदलें जिसे आप उपयोग कर रहे हैं, जैसे कि 11.5
।
bash
# उदाहरण: MariaDB 11.5 को रीस्टार्ट करना
servbayctl restart mariadb 11.5
1
2
2
सामान्य प्रश्न (FAQ)
प्र. ServBay UI से कॉन्फ़िगरेशन बदलना क्यों अधिक अच्छा है, बजाए सीधे my.cnf
एडिट करने के?
उत्तर: ServBay एक एकीकृत लोकल डिवेलपमेंट एन्वायरनमेंट मैनेजर है। यह UI की मदद से आपकी सेटिंग्स का प्रबंधन करता है और आपके चयन के अनुसार कॉन्फ़िगरेशन फाइलें उत्पन्न या अपडेट करता है। यदि आप सीधे my.cnf
फाइल बदलते हैं, तो ServBay अगली बार जब भी सेवा का प्रबंधन (जैसे अपग्रेड, रीस्टार्ट या किसी अन्य सेटिंग के UI के ज़रिए सहेजने) करेगा, वह फिर से फाइलें जेनरेट कर देगा और आपके बदलाव मिट सकते हैं। UI से बदलाव करके आप सेटिंग्स की स्थायिता एवं ServBay एन्वायरनमेंट की एकरूपता सुनिश्चित करते हैं।
प्र. क्या मैं ServBay UI से MariaDB के सभी पैरामीटर सेट कर सकता हूँ?
उत्तर: ServBay UI प्रायः डिवेलपर की आवश्यक सामान्य सेटिंग्स उपलब्ध कराता है। कुछ विशिष्ट या दुर्लभ उन्नत विकल्पों के लिए कभी-कभार अस्थायी रूप से मैन्युअली कॉन्फ़िगरेशन फाइल एडिट करनी पड़ सकती है। परंतु तब भी कृपया अस्थायिता समझें एवं संभव हो तो UI में "एडिशनल कॉन्फ़िगरेशन" वाले सेक्शन के ज़रिए कस्टम पैरामीटर दर्ज करने का प्रयास करें।
प्र. मैं ServBay में MariaDB के एरर लॉग और धीमी क्वेरी लॉग कहाँ देख सकता हूँ?
उत्तर: डिफॉल्ट सेटिंग्स एवं ServBay फ़ाइल स्ट्रक्चर के अनुसार, लॉग फाइलें आमतौर पर /Applications/ServBay/logs/mariadb/
डायरेक्ट्री में पाई जाती हैं। बिल्कुल सटीक पथ आप ServBay UI या my.cnf
फाइल में देख सकते हैं।
सारांश
ServBay में MariaDB डेटाबेस सेटिंग्स कॉन्फ़िगर करने का सबसे आसान और सुरक्षित तरीका उसकी ग्राफिकल यूज़र इंटरफ़ेस का उपयोग करना है। आप UI के माध्यम से लिसनिंग एड्रेस, पोर्ट, कनेक्शन संख्या, लॉग आदि के महत्वपूर्ण पैरामीटर आसानी से बदल सकते हैं एवं पक्का कर सकते हैं कि आपके बदलाव ServBay द्वारा स्थायी रूप से प्रबंधित होंगे। नीचे की my.cnf
फाइल (जिसका पथ /Applications/ServBay/etc/mariadb/<version>/my.cnf
है) तक पहुँचना संभव है, परंतु मैन्युअली बदलाव सर्वप्रथम ओवरराइटिंग के जोखिम से ग्रसित रहते हैं और केवल अस्थायी डिबगिंग के लिए ही उपयुक्त हैं। कॉन्फ़िगरेशन परिवर्तन के बाद, आप ServBay UI या servbayctl
कमांडलाइन टूल का उपयोग करके सरलता से MariaDB सेवा को रीस्टार्ट कर सकते हैं। इन विकल्पों की समझ से आप अपने लोकल डिवेलपमेंट एन्वायरनमेंट में MariaDB की परफॉरमेंस और व्यवहार को बेहतर बना सकते हैं।