Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL कॉन्फ़िगरेशन चर सेट करना - MySQL 5.7 बनाम MySQL 8.0

MySQL कॉन्फ़िगरेशन वैरिएबल सर्वर सिस्टम वैरिएबल का एक सेट है जिसका उपयोग सर्वर के संचालन और व्यवहार को कॉन्फ़िगर करने के लिए किया जाता है। इस ब्लॉग पोस्ट में, हम MySQL 5.7 और MySQL 8.0 के बीच कॉन्फ़िगरेशन वेरिएबल के प्रबंधन में अंतर के बारे में बताएंगे।

हम आपके उपयोग-मामले के आधार पर कॉन्फ़िगरेशन चर सेट करने के तीन अलग-अलग तरीकों की व्याख्या करेंगे। कॉन्फ़िगरेशन वेरिएबल जिन्हें रन टाइम पर सेट किया जा सकता है, डायनेमिक वैरिएबल कहलाते हैं और जिन्हें प्रभावी होने के लिए MySQL सर्वर रीस्टार्ट की आवश्यकता होती है, उन्हें नॉन-डायनेमिक वैरिएबल कहा जाता है।

1:एक चालू MySQL सर्वर के वर्तमान जीवनकाल के लिए कॉन्फ़िगरेशन सेट करें

अधिकांश MySQL कॉन्फ़िगरेशन प्रकृति में गतिशील हैं और SET कमांड का उपयोग करके रन टाइम पर सेट किए जा सकते हैं। इसका अर्थ है कि परिवर्तन स्थायी नहीं हैं और यदि MySQL सर्वर पुनरारंभ होता है तो खो जाएगा। यह आपके कॉन्फ़िगरेशन परिवर्तन के व्यवहार को स्थायी बनाने से पहले उसके व्यवहार का परीक्षण करने के लिए उपयोगी है।

MySQL 5.7 और 8.0 दोनों के लिए, आप SET GLOBAL कमांड का उपयोग करके इसे पूरा कर सकते हैं

उदाहरण:

mysql> set global max_connect_errors=10000;

2:MySQL रीस्टार्ट में कॉन्फ़िगरेशन परिवर्तन सेट करें और जारी रखें

एक बार जब आप कॉन्फ़िगरेशन परिवर्तन सेटिंग से खुश हो जाते हैं, तो आप इसे स्थायी बनाना चाहेंगे।

MySQL 5.7 में, आपको इसे 2 चरणों में करना होगा:

  1. सेट ग्लोबल कमांड का उपयोग करके रन टाइम कॉन्फ़िगरेशन सेटिंग सेट करें
mysql> set global max_connect_errors=10000;
  1. max_connect_errors के लिए मौजूदा प्रविष्टि को अपडेट करके या एक नया जोड़कर इस परिवर्तन को अपनी my.cnf फ़ाइल में सहेजें।

MySQL 8.0 में यह बहुत आसान हो गया है। आप इसे सेट पर्सिस्ट कमांड का उपयोग करके एक ही चरण में कर सकते हैं

mysql> set persist max_connect_errors=10000;
कॉन्फ़िगरेशन चर कैसे सेट करें - MySQL 5.7 बनाम MySQL 8.0 ट्वीट करने के लिए क्लिक करें

यह कॉन्फ़िगरेशन के लिए रन-टाइम मान सेट करेगा और डेटा निर्देशिका में मौजूद mysqld-auto.cnf फ़ाइल में सहेज कर परिवर्तन को भी बनाए रखेगा। यह एक json फ़ाइल है और अब आप फ़ाइल में निम्न प्रविष्टियाँ देखेंगे।

{

"Version": 1,

"mysql_server": {

"max_connect_errors": {

"Value": "10000",

"Metadata": {

"Timestamp": 1581135119397374,

"User": "sgroot",

"Host": "localhost"

}

}

}

}

नोट: mysqld-auto.cnf में मौजूद कॉन्फ़िगरेशन सेटिंग्स हमेशा my.cnf फ़ाइल में मौजूद मानों को ओवरराइड करती हैं। इसलिए, "max_connect_errors" चर के लिए my.cnf फ़ाइल में आपके द्वारा किए गए कोई भी अन्य परिवर्तन प्रभावी नहीं होते हैं। यह MySQL 5.7 से संक्रमण करने वालों के लिए भ्रमित करने वाला हो सकता है क्योंकि उनका उपयोग my.cnf में अपनी सभी सेटिंग्स को संग्रहीत करने के लिए किया जा सकता है

3:ऐसे कॉन्फ़िगरेशन वैरिएबल सेट करना जो डायनामिक नहीं हैं

कुछ कॉन्फ़िगरेशन चर रन टाइम पर सेट नहीं किए जा सकते हैं और प्रभावी होने के लिए एक MySQL पुनरारंभ की आवश्यकता होगी।

MySQL 5.7 में, आप अपनी my.cnf फ़ाइल में इन चरों के लिए एक प्रविष्टि करेंगे और इसके प्रभावी होने के लिए MySQL सर्वर को पुनरारंभ करेंगे। ऐसे चर के लिए उदाहरण है innodb_log_file_size।

MySQL 8.0 में, आप SET PERSIST ONLY नाम से एक कमांड चला सकते हैं जो mysqld-auto.cnf में एक एंट्री करेगा।

उदाहरण:

mysql> set persist_only innodb_log_file_size=134217728;

RESTART कमांड का उपयोग करके कमांड लाइन से MySQL सर्वर को पुनरारंभ करना भी संभव है। इससे innodb_log_file_size का बदला हुआ मान प्रभावी हो जाएगा।

नोट: RESTART कमांड केवल तभी काम करता है जब MySQL को सिस्टमड या mysqld_safe जैसे बाहरी प्रोग्रामों का उपयोग करके प्रबंधित किया जाता है। कृपया इसके बारे में अधिक विवरण यहाँ देखें।

अन्यथा , RESTART कमांड निम्न जैसे संदेश के साथ विफल हो जाता है।

mysql> RESTART;

ERROR 3707 (HY000): Restart server failed (mysqld is not managed by supervisor process).

एकाधिक सर्वर पर MySQL कॉन्फ़िगरेशन प्रबंधन

स्रोत-प्रतिकृति वातावरण में MySQL कॉन्फ़िगरेशन को प्रबंधित करना एक कठिन प्रक्रिया है यदि आपको कई क्लस्टर प्रबंधित करना है जो विभिन्न MySQL संस्करण चला रहे हैं। यह वह जगह है जहां स्केलग्रिड जैसा प्रबंधित समाधान फायदेमंद होगा।

स्केलग्रिड UI कंसोल का उपयोग विभिन्न कॉन्फ़िगरेशन चरों की वर्तमान सेटिंग्स की समीक्षा करने या उनके मान सेट करने के लिए किया जा सकता है।

ScaleGrid यह पहचान सकता है कि कॉन्फ़िगरेशन सेटिंग गैर-गतिशील है और यदि मान प्रभावी होने के लिए MySQL पुनरारंभ आवश्यक है तो उपयोगकर्ता को चेतावनी देगा। स्केलग्रिड कोई भी नया कॉन्फ़िगरेशन परिवर्तन लागू करने से पहले वर्तमान my.cnf फ़ाइल का बैकअप भी बनाएगा।

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

स्केलग्रिड MySQL होस्टिंग समाधान की विभिन्न विशेषताओं के बारे में अधिक जानने के लिए नीचे दिए गए लिंक पर जाएं।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. GUI का उपयोग करके MySQL कार्यक्षेत्र में सर्वर स्थिति की जाँच कैसे करें

  2. किसी भी आईपी पते से MySQL डेटाबेस की दूरस्थ पहुँच प्रदान करें

  3. कोडइग्निटर ढांचे का उपयोग करके सरणी से एकाधिक पंक्तियों को कैसे सम्मिलित करें?

  4. MySQL में इन्वेंटरी मैनेजमेंट सिस्टम के लिए डेटाबेस डिजाइन करने के लिए गाइड

  5. मेरे पास पूर्णांकों की एक सरणी है, मैं प्रत्येक को एक mysql क्वेरी (php में) में कैसे उपयोग करूं?