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

15 उपयोगी MySQL/MariaDB प्रदर्शन ट्यूनिंग और अनुकूलन युक्तियाँ

MySQL एक शक्तिशाली खुला स्रोत है संबंधपरक डेटाबेस प्रबंधन प्रणाली या संक्षेप में RDBMS . इसे 1995 (20 वर्ष पुराना) में वापस रिलीज़ किया गया था। यह संरचित क्वेरी भाषा का उपयोग करता है जो शायद एक डेटाबेस के भीतर सामग्री के प्रबंधन के लिए सबसे लोकप्रिय विकल्प है। नवीनतम MySQL संस्करण 5.6.25 है और 29 मई 2015 . को जारी किया गया था ।

MySQL के बारे में एक दिलचस्प तथ्य यह है कि यह नाम माइकल विडेनियस . से आया है (MySQL की निर्माता) बेटी My. यहां तक ​​कि यद्यपि MySQL के बारे में बहुत सारे रोचक तथ्य हैं, यह लेख आपको अपने MySQL सर्वर को प्रबंधित करने में मदद करने के लिए कुछ उपयोगी अभ्यास दिखाने के लिए है।

अप्रैल में 2009 MySQL प्रोजेक्ट Oracle द्वारा खरीदा गया था। परिणामस्वरूप एक MySQL समुदाय कांटा जिसे MariaDB . कहा जाता है बनाया गया था। कांटा बनाने का मुख्य कारण परियोजना को सामान्य सार्वजनिक लाइसेंस के तहत मुक्त रखना था।

आज MySQL और मारियाडीबी वेब अनुप्रयोगों जैसे वर्डप्रेस के लिए उपयोग किए जाने वाले सबसे अधिक (यदि सबसे अधिक नहीं) अक्सर उपयोग किए जाने वाले RDBMS में से एक हैं , जूमला , Magento और अन्य।

यह लेख आपको कुछ बुनियादी, फिर भी उपयोगी टिप्स दिखाएगा कि कैसे MySQL/MariaDB के प्रदर्शन को ठीक करने के लिए अनुकूलित किया जाए। कृपया ध्यान रखें कि यह लेख मानता है कि आपके पास पहले से ही MySQL या MariaDB स्थापित है। यदि आप अभी भी सोच रहे हैं कि उन्हें अपने सिस्टम पर कैसे स्थापित किया जाए, तो आप यहां हमारे विस्तृत गाइड का अनुसरण कर सकते हैं:

  1. RHEL/CentOS 7 पर LAMP इंस्टॉल करना
  2. फेडोरा 22 पर LAMP इंस्टाल करना
  3. उबंटू 15.04 पर लैंप की स्थापना
  4. डेबियन 8 पर मारियाडीबी स्थापित करना
  5. जेनटू लिनक्स पर मारियाडीबी स्थापित करें
  6. आर्क लिनक्स पर मारियाडीबी स्थापित करें

महत्वपूर्ण :शुरू करने से पहले - इस सुझाव को आँख बंद करके स्वीकार न करें। प्रत्येक MySQL सेटअप अद्वितीय है और कोई भी परिवर्तन करने से पहले अतिरिक्त विचार की आवश्यकता होती है।

चीजें जो आपको जानना आवश्यक हैं:

  1. MySQL/MariaDB कॉन्फ़िगरेशन फ़ाइल /etc/my.cnf में स्थित है . हर बार जब आप इस फ़ाइल को संशोधित करते हैं तो आपको MySQL सेवा को पुनरारंभ करना होगा ताकि नए परिवर्तन प्रभावी हो सकें।
  2. इस लेख को लिखने के लिए MySQL संस्करण 5.6 टेम्पलेट के रूप में उपयोग किया गया है।
<एच3>1. InnoDB फ़ाइल-प्रति-तालिका सक्षम करें

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

InnoDB अधिक लचीला दृष्टिकोण प्रदान करता है और प्रत्येक डेटाबेस जानकारी को .ibd . में रखा जाता है डेटा फाइल। प्रत्येक .ibd फ़ाइल स्वयं के एक टेबलस्पेस का प्रतिनिधित्व करती है। इस तरह डेटाबेस संचालन जैसे “TRUNCATE ” को तेजी से पूरा किया जा सकता है और डेटाबेस तालिका को गिराते या काटते समय आप अप्रयुक्त स्थान को पुनः प्राप्त कर सकते हैं।

इस कॉन्फ़िगरेशन का एक अन्य लाभ यह तथ्य है कि आप कुछ डेटाबेस टेबल को एक अलग स्टोरेज डिवाइस में रख सकते हैं। यह I/O . में बहुत सुधार कर सकता है अपने डिस्क पर लोड करें।

innodb_file_per_table MySQL 5.6 और इसके बाद के संस्करण में डिफ़ॉल्ट रूप से सक्षम है। आप देख सकते हैं कि /etc/my.cnf . में फ़ाइल। निर्देश इस तरह दिखता है:

innodb_file_per_table=1
<एच3>2. MySQL डेटाबेस डेटा को अलग-अलग पार्टिशन पर स्टोर करें

नोट :यह सेटअप केवल MySQL के साथ काम करता है, लेकिन MariaDB के साथ नहीं।

कभी-कभी ओएस रीड/राइट आपके MySQL सर्वर के प्रदर्शन को धीमा कर सकता है, खासकर अगर एक ही हार्ड ड्राइव पर स्थित हो। इसके बजाय, मैं MySQL सेवा के लिए अलग हार्ड ड्राइव (अधिमानतः SSD) का उपयोग करने की सलाह दूंगा।

इसे पूरा करने के लिए, आपको नई ड्राइव को अपने कंप्यूटर/सर्वर से जोड़ना होगा। इस लेख के प्रयोजन के लिए, मैं मान लूंगा कि ड्राइव /dev/sdb . के अंतर्गत होगा ।

अगला कदम नई ड्राइव तैयार करना है:

# fdisk /dev/sdb

अब “n . दबाएं "नया विभाजन बनाने के लिए। अगला "p . दबाएं "नए विभाजन को प्राथमिक बनाने के लिए। उसके बाद, विभाजन संख्या को 1-4 . से सेट करें . उसके बाद आप विभाजन आकार का चयन करेंगे। यहां एंटर दबाएं। अगले चरण पर आपको विभाजन के आकार को कॉन्फ़िगर करने की आवश्यकता होगी।

यदि आप संपूर्ण डिस्क का उपयोग करना चाहते हैं तो एक बार फिर एंटर दबाएं। अन्यथा आप मैन्युअल रूप से नए विभाजन का आकार निर्धारित कर सकते हैं। तैयार होने पर “w . दबाएं "परिवर्तन लिखने के लिए। अब हमें अपने नए विभाजन के लिए एक फाइल सिस्टम बनाना होगा। इसके साथ आसानी से किया जा सकता है:

# mkfs.ext4 /dev/sdb1

अब हम अपने नए पार्टीशन को एक फोल्डर में माउंट करेंगे। मैंने अपने फ़ोल्डर का नाम “ssd . रखा है ” और रूट डायरेक्टरी में बनाया गया:

# mkdir /ssd/

हम नए पार्टिशन को माउंट करने के लिए तैयार हैं जिसे हमने अभी नए फोल्डर में बनाया है:

# mount /dev/sdb1  /ssd/

आप /etc/fstab . में निम्न पंक्ति जोड़कर स्टार्टअप पर माउंट का प्रदर्शन कर सकते हैं फ़ाइल।

/dev/sdb1 /ssd ext3 defaults 0 0

अब आप MySQL को नई डिस्क पर ले जाने के लिए तैयार हैं। सबसे पहले MySQL सेवा को इसके साथ बंद करें:

# service mysqld stop

डेटाबेस में लिखने के किसी भी प्रयास को रोकने के लिए मैं आपको Apache/nginx को रोकने की सलाह दूंगा:

# service httpd stop
# service nginx stop

अब संपूर्ण MySQL निर्देशिका को नई ड्राइव में कॉपी करें:

# cp /var/lib/mysql /ssd/ -Rp

आपके MySQL डेटाबेस की साइट के आधार पर इसमें कुछ समय लग सकता है। एक बार यह प्रक्रिया पूरी हो जाने के बाद MySQL निर्देशिका का नाम बदलें:

# mv /var/lib/mysql /var/lib/mysql-backup

आगे हम एक सिम्लिंक बनाएंगे।

# ln -s /ssd/mysql /var/lib/mysql

अब आप अपनी MySQL और वेब सेवा शुरू करने के लिए तैयार हैं:

# service mysqld start
# service httpd start
# service nginx start

इस बिंदु पर आपके MySQL डेटाबेस को नई ड्राइव से एक्सेस किया जाएगा।

पन्ने:1 2 3 4

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में स्रोत-प्रतिकृति प्रतिकृति को कैसे कॉन्फ़िगर करें

  2. पीडीओ लास्ट आईडी इंसर्ट करवाएं

  3. MySQL में एक Python datetime.datetime ऑब्जेक्ट सम्मिलित करना

  4. PHP MySQL डेटाबेस में एकाधिक चेकबॉक्स और टेक्स्टबॉक्स सरणी डालने वाला है

  5. SQL में विचारों को समझना