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

मारियाडीबी सर्वर के नवीनतम संस्करण के साथ नवीनतम जीरा में अपग्रेड करना

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

मारियाडीबी सर्वर के शीर्ष पर जीरा अभी तक समर्थित संयोजन नहीं है। जीरा MySQL का समर्थन करता है, लेकिन आधिकारिक तौर पर अभी तक MariaDB नहीं। हम निश्चित रूप से अपने ग्राहकों और उपयोगकर्ताओं के लिए इसे आसान बनाने के लिए मारियाडीबी सर्वर का समर्थन करने के लिए अधिक से अधिक सॉफ्टवेयर चाहते हैं। ऐसा सोचने वाले हम अकेले नहीं हैं। जीरा में मारियाडीबी सर्वर का समर्थन करने का अनुरोध यहां पाया गया है और सामान्य रूप से एटलसियन उत्पादों में मारियाडीबी सर्वर का समर्थन करने के लिए व्यापक अनुरोध यहां पाया गया है। उम्मीद है कि जल्द ही आधिकारिक तौर पर मारियाडीबी सर्वर का समर्थन प्राप्त करने के लिए अपना वोट जोड़ें। लेकिन बात यह है कि, भले ही यह आधिकारिक तौर पर समर्थित नहीं है जीरा और मारियाडीबी का संयोजन बहुत अच्छा काम करता है। हमने हाल ही में नवीनतम जीरा और मारियाडीबी के नवीनतम संस्करण में अपग्रेड किया है।

अपग्रेड करने से पहले अपग्रेड के बाद
जीरा के लिए ओएस उबंटू 14.04 उबंटू 18.04
MariaDB के लिए OS उबंटू 14.04 उबंटू 18.04
जीरा संस्करण 7.2.1 7.12.1
MariaDB सर्वर संस्करण 10.1.35 10.3.9
JDBC ड्राइवर MariaDB कनेक्टर/J 2.1.2 MariaDB कनेक्टर/J 2.3.0
वेब सर्वर Nginx 1.10.1 Nginx 1.14.0
जीरा ऐड-ऑन अपडेट करें

जीरा में बहुत सारे प्लगइन्स हैं और प्लगइन संस्करणों को जीरा के चल रहे संस्करण के साथ संगत होना चाहिए। जीरा में एक टूल शामिल है, ऐड-ऑन के लिए जीरा अपडेट चेक, जो यूआरएल /प्लगइन्स/सर्वलेट/अपम/चेक में पाया जाता है। उस टूल का उपयोग सभी ऐड-ऑन को उन संस्करणों में अपडेट करने के लिए करें जो जीरा संस्करण में समर्थित होंगे जिन्हें आप अपग्रेड करने जा रहे हैं।

जीरा तक पहुंच रोकें

आइए वास्तविक उन्नयन के साथ चलते हैं। जीरा को एक्सेस करने की कोशिश कर रहे सभी लोगों के लिए एक रखरखाव पृष्ठ की सेवा करके, जीरा को उपयोगकर्ताओं के लिए अनुपलब्ध बनाने के साथ शुरू करें। यह आसानी से Nginx के साथ किया जाता है। स्थान . में Nginx कॉन्फ़िगरेशन में निर्देश, रखरखाव फ़ाइल की जांच करें और यदि पाया जाता है तो इसे सभी यूआरएल के लिए दिखाएं।

...
location / {
if (-f $document_root/maintenance.html) {
return 503;
}
...
error_page 503 @maintenance;

स्थान @ रखरखाव {
पुनर्लेखन ^(.*)$ /maintenance.html ब्रेक;
}

डेटाबेस और निर्देशिकाओं का बैकअप लें

अपग्रेड शुरू करने से पहले निश्चित रूप से यह सुनिश्चित कर लेना चाहिए कि बैकअप मौजूद हैं। जब जीरा की बात आती है, तो डेटाबेस और निर्देशिकाओं का पूर्ण बैकअप होना चाहिए जो जीरा अटैचमेंट और उपयोगकर्ता अवतार छवियों को संग्रहीत करने के लिए उपयोग करता है। हमारे पास सर्वर पर एक बैकअप टूल चल रहा था जो दैनिक आधार पर पूर्ण बैकअप का उत्पादन करता था। इसके अलावा मैंने डंप उपयोगिता का उपयोग करके डेटाबेस डंप भी किया।

डंप उपयोगिता के साथ डेटाबेस बैकअप:

$ mysqldump -u username -p databasename > jiradb20180907.sql
$ tar -zcvf jiradb20180907.tar.gz jiradb20180907.sql

बैकअप अटैचमेंट और अवतार:

$ tar -zcvf attachments20180908.tar.gz /data/jira/data/attachments/
$ tar -zcvf avatars20180908.tar.gz /data/jira/data/avatars/

अपग्रेड प्रक्रिया में कुछ गलत होने की स्थिति में बैकअप फ़ाइलों को किसी अन्य सर्वर पर कॉपी करें।

OS अपग्रेड

हमारा जीरा सर्वर उबंटू 14.04 चला रहा था और सॉफ्टवेयर को अपग्रेड करते समय हम ओएस को भी अपग्रेड करना चाहते थे। मैं उबंटू के उन्नयन के विवरण में नहीं जाऊंगा, लेकिन मूल रूप से मैंने सर्वर को उबंटू 18.04 पर लाने के लिए दो बार डू-रिलीज़-अपग्रेड चलाया। कुछ चीजें थीं जो मुझे करनी थीं। मुझे /etc/update-manager/release-upgrads.d/unauth.cfg फ़ाइल बनानी थी और निम्नलिखित जोड़ना था। यह पुस्तकालयों को अनुमति देने के लिए था कि रिलीज़ अपग्रेड प्रक्रिया प्रमाणित नहीं हो सकी, जो गैलेरा और मारियाडीबी पुस्तकालय थे।

[Distro]
AllowUnauthenticated=yes

अपग्रेड के बाद, unauth.cfg फ़ाइल को हटा दें।

मेरे मामले में अपग्रेड (16.04 से 18.04 तक) ने SSH सर्वर कॉन्फ़िगरेशन को बदल दिया और मैं अब सर्वर पर SSH नहीं कर सकता। मुझे लगता है कि मैंने कहीं "हां" चुना है जो मुझे नहीं करना चाहिए था। सौभाग्य से मेरे पास कंसोल एक्सेस था और एसएसएच को मैन्युअल रूप से कॉन्फ़िगर किया गया था।

OS अपग्रेड के दौरान Nginx अपग्रेड हो जाता है। कमांड चलाकर सत्यापित करें:nginx -v

MariaDB सर्वर अपग्रेड

हमारे मामले में हमारे पास मारियाडीबी सर्वर 10.1 स्थापित था। इसे MariaDB सर्वर के नवीनतम स्थिर GA संस्करण में लाने के लिए ये चरण थे:

  • Stop MariaDB Server 10.1:sudo service mysql stop
  • 10.1.0 अनइंस्टॉल करें:sudo apt remove mariadb-server
  • एक MariaDB सर्वर 10.2 रिपॉजिटरी जोड़ें। मैं mariadb.com रिपॉजिटरी सेटअप स्क्रिप्ट का उपयोग करूंगा:
    curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s — -mariadb-server-version=mariadb-10.2
    रिपॉजिटरी स्क्रिप्ट के बारे में अधिक जानकारी के लिए कृपया दस्तावेज़ीकरण देखें।
  • 10.2 इंस्टॉल करें:sudo apt install mariadb-server
  • सत्यापित करें कि MariaDB सर्वर 10.2 चल रहा है और काम कर रहा है
  • Stop MariaDB:sudo service mysql stop
  • 10.2 अनइंस्टॉल करें:sudo apt remove mariadb-server
  • एक MariaDB सर्वर 10.2 रिपॉजिटरी जोड़ें। मैं फिर से mariadb.com रिपॉजिटरी सेटअप स्क्रिप्ट का उपयोग करूंगा:
    curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | सुडो बैश-एस — -मरियाडब-सर्वर-संस्करण=मारीडब-10.3
  • 10.3 इंस्टॉल करें:sudo apt install mariadb-server
  • सत्यापित करें कि मारियाडीबी 10.3 चल रहा है और काम करता है। जांचें कि डेटादिर में /etc/mysql/my.cnf . में उस निर्देशिका की ओर इशारा कर रहा है जहाँ आपके पास आपकी डेटाबेस फ़ाइलें हैं
JDBC, MariaDB Connector/J अपडेट

जीरा को अपग्रेड करने के लिए आगे बढ़ने से पहले आइए पहले जेडीबीसी ड्राइवर को अपडेट करें ताकि जीरा को कई बार पुनरारंभ न करना पड़े। मारियाडीबी कनेक्टर/जे को अपडेट करना सीधे आगे है। Connector/J का नवीनतम संस्करण downloads.mariadb.com से उठाएं, इसे जीरा की lib निर्देशिका में रखें और पुराने को हटा दें:

$ wget https://downloads.mariadb.com/Connectors/java/connector-java-2.3.0/mariadb-java-client-2.3.0.jar
$ mv /opt/atlassian/jira/lib/mariadb-java-client-2.1.2.jar ~
$ mv mariadb-java-client-2.3.0.jar /opt/atlassian/jira/lib/

जीरा अपग्रेड

अंत में जीरा को जीरा इंस्टॉलर के साथ अपग्रेड करें:

  • जीरा इंस्टॉलर यहां उपलब्ध है:https://www.atlassian.com/software/jira/download
  • बैकअप जीरा कॉन्फ़िगरेशन:sudo tar -zcvf conf20180909.tar.gz /opt/atlassian/jira/conf
  • स्टॉप जीरा:सूडो सर्विस जीरा स्टॉप
  • अपग्रेड शुरू करें:sudo ./atlassian-jira-software-7.12.1-x64.bin
  • इंस्टॉलर निर्देशों का पालन करें
  • जीरा शुरू करने का प्रयास करें:सुडो सर्विस जीरा स्टार्ट (जो सर्वर के बाद से काम नहीं करेगा। एक्सएमएल को बदल दिया गया है)

जैसा कि अंतिम चरण में कहा गया है, जीरा शुरू नहीं होगा क्योंकि इंस्टॉलर ने सर्वर.एक्सएमएल कॉन्फ़िगरेशन फ़ाइल को बदल दिया है। अब आपको इसे वापस अपने कॉन्फ़िगरेशन में बदलने की आवश्यकता है। इसे करने का एक आसान तरीका यह है कि सर्वर.एक्सएमएल के बीच अंतर करें जो आपके पास पहले था और यह नया है। एक बार कॉन्फ़िगरेशन हो जाने के बाद जीरा शुरू करें।

अगर आपने जीरा को मेंटेनेंस मोड में डालने के लिए इस तरह का इस्तेमाल किया है, तो Nginx द्वारा उपयोग की जाने वाली मेनटेनेंस.एचटीएमएल फाइल को हटाना (या नाम बदलना) याद रखें।

जीरा के उठने और फिर से दौड़ने के बाद सब कुछ ठीक रहा। हमें कुछ दिनों बाद पता चला कि एक चीज थी जो पहले की तरह काम नहीं करती थी। हम रिपोर्टिंग के लिए झांकी का उपयोग करते हैं और हमने "जीरा के लिए ऑल-इन-वन झांकी कनेक्टर" ऐड-ऑन स्थापित किया है। यह इस ऐड-ऑन जेनरेटेड SQL SELECT क्वेरीज़ को निकला जिनमें कॉलम ROWS था। ROWS 10.3 में एक आरक्षित शब्द है, इसलिए इस तरह के नाम वाले कॉलम के लिए पूछने पर नाम पर बैकटिक करना होगा, यानी ROWS´। सौभाग्य से इस ऐड-ऑन के पीछे की कंपनी यह भी सुनिश्चित करना चाहती थी कि ऐड-ऑन हमारे लिए काम करता है और एक बार जब हमें इसका कारण मिल गया, तो उन्होंने हमें कुछ घंटों बाद ऐड-ऑन का एक नया संस्करण प्रदान किया।

एक और काम है जो मुझे करना था। हम पिछले बैकअप संस्करण का उपयोग कर रहे थे जो मारियाडीबी सर्वर 10.3.1 के साथ संगत नहीं है। हम अनुशंसा करते हैं कि आप अपने बैकअप के लिए मारियाडीबी बैकअप का उपयोग करें। विषय एक अलग ब्लॉग पोस्ट के योग्य है और मैं उस पर थोड़ी देर बाद पहुंचूंगा।

सितंबर में हमारे अपग्रेड के बाद से, जीरा का नवीनतम संस्करण मारियाडीबी के जीरा के उपयोगकर्ताओं की सेवा करने वाले मारियाडीबी के नवीनतम संस्करण के शीर्ष पर हर समय चल रहा है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. बेंचमार्किंग मैनुअल डेटाबेस परिनियोजन बनाम स्वचालित परिनियोजन

  2. MariaDB AX के साथ विश्लेषिकी - tThe Open Source Columnar Datastore

  3. प्रॉक्सीएसक्यूएल और एडब्ल्यूएस ऑरोरा के साथ डेटाबेस लोड संतुलन

  4. कुबेरनेट्स के साथ प्रॉक्सीएसक्यूएल नेटिव क्लस्टरिंग

  5. 2018 समीक्षा में:7 मारियाडीबी मील के पत्थर आप चूक गए होंगे