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

एक ही मशीन पर एकाधिक MySQL इंस्टेंस कैसे चलाएं

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


एक ही मशीन पर एकाधिक MySQL इंस्टेंस कैसे चलाएं

यहां एक ही मशीन पर कई MySQL इंस्टेंस चलाने के चरण दिए गए हैं।


1. MySQL कॉन्फ़िगरेशन फ़ाइल खोलें

आमतौर पर, आपको MySQL कॉन्फ़िगरेशन फ़ाइल /etc/mysql/my.cnf . पर मिलेगी . टर्मिनल खोलें और MySQL कॉन्फ़िगरेशन फ़ाइल खोलने के लिए निम्न कमांड चलाएँ।

$ sudo vi /etc/mysql/my.cnf


2. एक से अधिक MySQL इंस्टेंस कॉन्फ़िगर करें

आपको डिफ़ॉल्ट MySQL कॉन्फ़िगरेशन कुछ वैसा ही मिलेगा जैसा नीचे दिखाया गया है।

[mysqld] 
user = mysql 
pid-file = /var/run/mysqld/mysqld.pid 
socket = /var/run/mysqld/mysqld.sock 
port = 3306 
datadir = /data/mysql/mysql

कोड के उपरोक्त ब्लॉक को उसी फाइल में कॉपी + पेस्ट करें। बदलें [mysqld] [mysqld1] . के साथ और पोर्ट वैल्यू को 3307 में बदलें। इससे नया इंस्टेंस mysqld1 . बन जाएगा एक अलग प्रक्रिया नाम mysqld1 के साथ एक अलग पोर्ट 3307 पर चलाएं। इसी तरह, नीचे दिखाए गए अनुसार पिड-फाइल, सॉकेट और डेटादिर चर के फ़ाइल नाम बदलें।

सुनिश्चित करें कि नीचे दिए गए प्रत्येक उदाहरण के लिए डेटादिर फ़ोल्डर की प्रतिलिपि बनाएँ। यह भी सुनिश्चित करें कि उपयोगकर्ता mysql उपयोगकर्ता के पास इसकी पहुंच अनुमतियां हैं। प्रत्येक इंस्टेंस को अपनी डेटा निर्देशिका की आवश्यकता होती है।

[mysqld1] 
user = mysql 
pid-file = /var/run/mysqld/mysqld1.pid 
socket = /var/run/mysqld/mysqld1.sock 
port = 3307 
datadir = /data/mysql/mysql1

अब mysqld1 mysqld . से अलग इंस्टेंस के रूप में चलेगा

इसी तरह, आप और उदाहरण बना सकते हैं जैसा कि नीचे दिखाया गया है

[mysqld2] 
user = mysql 
pid-file = /var/run/mysqld/mysqld2.pid 
socket = /var/run/mysqld/mysqld2.sock 
port = 3308 
datadir = /data/mysql/mysql2 
.... 
[mysqldN] 
user = mysql 
pid-file = /var/run/mysqld/mysqldN.pid 
socket = /var/run/mysqld/mysqldN.sock 
port = N 
datadir = /data/mysql/mysqlN

सुनिश्चित करें कि आप प्रत्येक उदाहरण के लिए अलग-अलग pid फ़ाइल, सॉकेट फ़ाइल और डेटा dir प्रदान करते हैं और सुनिश्चित करें कि उपयोगकर्ता mysql निर्देशिका अनुमतियों की आवश्यकता है क्योंकि mysql उपयोगकर्ता आवश्यक फ़ाइलें और निर्देशिका बनाने में सक्षम होना चाहिए।


3. अनेक उदाहरण प्रबंधित करें

आप mysqld . का उपयोग करके प्रत्येक उदाहरण को अलग से प्रारंभ कर सकते हैं नीचे आदेश। बदलें mysqlN अपनी पसंद के उदाहरण के साथ (जैसे mysql1, mysql2, आदि)

mysqld --initialize --user=mysql --datadir=/home/mysql/mysqlN

यदि किसी कारण से, उपरोक्त कॉन्फ़िगरेशन आपके लिए काम नहीं करता है, तो my.cnf फ़ाइल को /etc/my.cnf पर कॉपी करें। स्थान और पुनः प्रयास करें। कभी-कभी, mysql /etc/mysql/my.cnf . पर कॉन्फ़िगर किए गए कई उदाहरणों को पंजीकृत नहीं करता है

$ sudo cp /etc/mysql/my.cnf /etc/my.cnf

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

mysql -u root -p -S /var/run/mysqld/mysqld1.sock

उम्मीद है, यह लेख आपको एक ही सर्वर पर कई MySQL इंस्टेंस को कॉन्फ़िगर और प्रबंधित करने में मदद करेगा।

MySQL के लिए एक रिपोर्टिंग टूल की आवश्यकता है? Ubiq मिनटों में डेटा को विज़ुअलाइज़ करना और रीयल-टाइम डैशबोर्ड में मॉनिटर करना आसान बनाता है। इसे आज ही आजमाएं!

  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. Percona XtraBackup की तुलना MySQL एंटरप्राइज़ बैकअप से करना:भाग एक

  3. MySQL में एक कॉलम का कोलाजेशन कैसे दिखाएं

  4. MySQL बड़े डेटाबेस से डुप्लिकेट को जल्दी से हटा देता है

  5. ऑन क्लॉज में MySQL अज्ञात कॉलम