Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

लिनक्स पर MySQL को MariaDB में कैसे माइग्रेट करें?

<घंटा/>

यह लेख आपको डेटाबेस को MySQL से MariaDB में माइग्रेट करने में मदद करेगा क्योंकि माइग्रेशन प्रक्रिया में MySQL-to-MariaDB की बाइनरी संगतता बहुत सीधी है।

Oracle के MySQL के अधिग्रहण के बाद, समुदाय ने इस तरह के आंदोलन के परिणाम को प्रेरित किया है और एक नया डेटाबेस विकसित किया है जिसे MariaDB कहा जाता है। मारियाडीबी ओपन-सोर्स है और MySQL के साथ इसकी संगतता है। अधिकांश Linux वितरण (RH, CentOS, Fedora) ने पहले ही MySQL के ड्रॉप-इन प्रतिस्थापन के रूप में MariaDB के समर्थन का उपयोग करना शुरू कर दिया है।

अगर हम डेटाबेस को MySQL से MariaDB में माइग्रेट करना चाहते हैं तो यह लेख मदद करेगा।

MySQL डेटाबेस और टेबल्स तैयार करना

हम डेमो उद्देश्य के लिए एक परीक्षण MySQL डेटाबेस और समग्रता तालिका बनाते हैं। यदि हमारे पास वातावरण में डेटाबेस और टेबल हैं तो हम इसे छोड़ सकते हैं।

MySQL रूट यूजर और रूट यूजर पासवर्ड का उपयोग करके टर्मिनल से MySQL में लॉग इन करें।

# mysql -uroot -p

एक डेटाबेस और टेबल बनाना

mysql> डेटाबेस टेस्ट1 बनाएं;mysql> test1 का उपयोग करें;mysql> टेबल टैब 1 बनाएं (नाम वर्कर (30), मालिक वर्कर (30), प्रजाति वर्कर (20), सेक्स चार (1)); क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.02 सेकंड)

साथ ही, हम डेटा का परीक्षण करने के लिए कुछ रिकॉर्ड जोड़ेंगे

mysql> tab1 मानों में डालें ('चंद्र', 'प्रकाश', 'कदरला', 'एम'), ('श्रीनिवास', 'कदरला', 'चारी', 'एम'); क्वेरी ठीक है, 2 पंक्तियां प्रभावित (0.00 सेकंड) रिकॉर्ड:2 डुप्लीकेट:0 चेतावनियां:0फिर MySQL से बाहर निकलें।

MySQL डेटाबेस का बैकअप

हमें कमांड का उपयोग करके MySQL डेटाबेस का बैकअप लेने की आवश्यकता है - MySQL डंप

# mysqldump --all-databases --user=root --password --master-data> backupDB.sql

सुरक्षा कारणों से हम MySQL के लिए कॉन्फ़िगरेशन फ़ाइल को कुछ और सिस्टम में कहीं और ले जाएंगे

# cp /etc/mysql/my.cnf /opt/my.cnf.bak

MySQL पैकेज अनइंस्टॉल करें

हम नीचे दिए गए आदेश का उपयोग करके MySQL को अनइंस्टॉल कर देंगे -

# सर्विस mysqld स्टॉप# yum mysql-server mysql-client mysql-common को हटा दें

मारियाडीबी पैकेज स्थापित करें

मारियाडीबी को सभी प्रमुख लिनक्स वितरण आधिकारिक रिपॉजिटरी पर MySQL से बदल दिया गया है। भले ही आप Linux के पुराने संस्करण का उपयोग कर रहे हों, आधिकारिक भंडार जोड़ सकते हैं।

यम रेपो निर्देशिका में एक फ़ाइल बनाएँ

# sudo vi /etc/yum.repos.d/MariaDB.repo

फ़ाइल में नीचे जोड़ें और इसे सहेजें

[mariadb]name =MariaDBbaseurl =https://yum.mariadb.org/5.5/centos7-amd64gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDBgpgcheck=1

मारिया-डीबी सर्वर और क्लाइंट स्थापित करने के लिए नीचे दी गई कमांड चलाएँ।

# यम स्थापित मारियाडीबी-सर्वर मारियाडीबी-क्लाइंटलोडेड प्लगइन्स:सबसे तेज़ मिरर, लैंगपैक्सबेस | 3.6 केबी 00:00अतिरिक्त | 3.4 केबी 00:00 मारियाडब | 2.9 केबी 00:00 अपडेट | 3.4 kB 00:00 --> नए परिवर्तनों के साथ निर्भरता समाधान को फिर से शुरू करना। --> ट्रांजेक्शन चेक चलाना ---> पैकेज MariaDB-shared.x86_64 0:5.5.49-1.el7.centos अप्रचलित हो जाएगा ---> पैकेज mariadb-libs.x86_64 1:5.5.35-3.el7 होगा अप्रचलित होना --> समाप्त निर्भरता संकल्प =======================================पैकेज आर्क संस्करण रिपोजिटरी आकार ============================================================================स्थापित करना:मारियाडीबी-क्लाइंट x86_64 5.5.49- 1.el7.centos mariadb 8.6 M मारियाडीबी-सर्वर x86_64 5.5.49-1.el7.centos mariadb 40 M मारियाडीबी-साझा x86_64 5.5.49-1.el7.centos mariadb 1.0 M mariadb-libs.x86_64 1:5.5 की जगह। 35-3.el7निर्भरता के लिए स्थापित करना:मारियाडीबी-सामान्य x86_64 5.5.49-1.el7.centos mariadb 23 k perl-Compress-Raw-Bz ip2 x86_64 2.061-3.el7 बेस 32 k perl-Compress-Raw-Zlib x86_64 1:2.061-4.el7 बेस 57 k perl-DBI x86_64 1.627-4.el7 बेस 802 k perl-Data-Dumper x86_64 2.145-3। EL7 बेस 47 k perl-IO-compress noarch 2.061-2.el7 बेस 260 k perl-Net-daemon noarch 0.48-5.el7 base 51 k perl-PlRPC noarch 0.2020-14.el7 बेस 36 kलेन-देन सारांश ================================================================================3 पैकेज स्थापित करें (+8 आश्रित पैकेज) कुल डाउनलोड आकार:51 एमआई यह ठीक है [y/d/N]:yडाउनलोडिंग पैकेज:चेतावनी:/var/cache/yum/x86_64/7/mariadb/packages/MariaDB-5.5.49-centos7-x86_64-common.rpm:हैडर V4 DSA/SHA1 हस्ताक्षर, कुंजी आईडी 1bb9 43db:MariaDB-5.5.49-centos7-x86_64-common.rpm के लिए NOKEYसार्वजनिक कुंजी स्थापित नहीं है(1/11):MariaDB-5.5.49-centos7-x86_64-common.rpm | 23 केबी 00:00:01(2/11):मारियाडीबी-5.5.49-सेंटोस7-x86_64-क्लाइंट.आरपीएम | 8.6 एमबी 00:00:12चेतावनी:/var/cache/yum/x86_64/7/base/packages/perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64.rpm:हैडर V3 RSA/SHA256 सिग्नेचर, की आईडी f4a80eb5:पर्ल-कंप्रेस-रॉ-बीज़िप2-2.061-3.el7.x86_64.rpm के लिए NOKEYसार्वजनिक कुंजी स्थापित नहीं है(3/11):perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64.rpm | 32 केबी 00:00:00(4/11):पर्ल-कंप्रेस-रॉ-ज़्लिब-2.061-4.el7.x86_64.rpm | 57 केबी 00:00:00(5/11):पर्ल-डेटा-डम्पर-2.145-3.el7.x86_64.rpm | 47 केबी 00:00:00 (6/11):पर्ल-आईओ-कंप्रेस-2.061-2.el7.noarch.rpm | 260 केबी 00:00:00 (7/11):पर्ल-नेट-डेमन-0.48-5.el7.noarch.rpm | 51 केबी 00:00:00 (8/11):पर्ल-डीबीआई-1.627-4.el7.x86_64.rpm | 802 केबी 00:00:00(9/11):पर्ल-पीएलआरपीसी-0.2020-14.el7.noarch.rpm | 36 केबी 00:00:00(10/11):मारियाडीबी-5.5.49-सेंटोस7-x86_64-shared.rpm | 1.0 एमबी 00:00:01कुल डाउनलोड आकार:51 एम.लेनदेन की जांचचलानाट्रांजेक्शन परीक्षणट्रांजेक्शन परीक्षण सफलचल रहा है ट्रांजेक्शन इंस्टालेशन:मारियाडीबी-कॉमन-5.5.49-1.el7.centos.x86_64 1/12 इंस्टालेशन:पर्ल-डेटा-डम्पर-2.145-3 .el7.x86_64 2/12 इंस्टॉल करना:मारियाडीबी-क्लाइंट-5.5.49-1.el7.centos.x86_64 3/12 इंस्टॉल करना:1:perl-Compress-Raw-Zlib-2.061-4.el7.x86_64 4/12 इंस्टॉल करना :perl-Net-Daemon-0.48-5.el7.noarch 5/12 इंस्टाल करना :perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64 6/12 इंस्टाल करना :perl-IO-Compress-2.061-2.el7 .noarch 7/12 स्थापना:perl-PlRPC-0.2020-14.el7.noarch 8/12 स्थापना:perl-DBI-1.627-4.el7.x86_64 9/12 स्थापित:MariaDB-client.x86_64 0:5.5.49-1 .el7.centos MariaDB-server.x86_64 0:5.5.49-1.el7.centos MariaDB-shared.x86_64 0:5.5.49-1.el7.centosनिर्भरता स्थापित:MariaDB-common.x86_64 0:5.5.49-1 .el7.centos p erl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7 perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7 perl-DBI.x86_64 0:1.627-4.el7 perl-Data-Dumper। x86_64 0:2.145-3.el7 perl-IO-Compress.noarch 0:2.061-2.el7 perl-Net-Daemon.noarch 0:0.48-5.el7 perl-PlRPC.noarch 0:0.2020-14.el7Replaced:mariadb -libs.x86_64 1:5.5.35-3.el7पूर्ण!

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

# cp /opt/my.cnf /etc/mysql/

अब, हमें मारियाडीबी सेवा को फिर से शुरू करने की जरूरत है, नीचे दिए गए कमांड को चलाएं।

# सेवा mariadb start

MySQL डेटाबेस आयात करना

हमें उस डेटाबेस को आयात करना होगा जिसे हमने MySQL से MariaDB में बैकअप लिया था

# mysql -u root -p  

रूट उपयोगकर्ता का पासवर्ड दर्ज करें, और फिर डेटाबेस को मारियाडीबी में आयात किया जाएगा

हमें डेटाबेस की जांच करने की आवश्यकता है कि क्या इसे सही तरीके से बहाल किया गया था या नहीं।

कृपया नीचे दिए गए आदेशों का पालन करें -

# mysql -u root -pMariaDB [(none)]> डेटाबेस दिखाएं;+--------------------------+| डेटाबेस |+----------------------+| info_schema || mysql || test1 |+----------------------+3 पंक्तियाँ सेट में (0.00 सेकंड)MariaDB [(कोई नहीं)]> test1 का उपयोग करें;MariaDB [test01]> से * चुनें tab1;टैब1 से *चुनें;+------------+-----------+------------+------+| नाम | मालिक | प्रजाति | सेक्स |+-----------+------------+----------+------+| चंद्र | प्रकाश | कदरला | मी || श्रीनिवास | कदरला | चारी | मी |+------------+-----------+------------+------+2 पंक्तियों में सेट (0.00 सेकंड) 

अब MySQL से MariaDB में माइग्रेशन सफलतापूर्वक पूरा हो गया है।

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


  1. MySQL में कॉलम कैसे विभाजित करें?

    कॉलम को विभाजित करने के लिए, आपको MySQL में SUBSTRING_INDEX() का उपयोग करना होगा। आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (1.80 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - सम्मिलित करें डेमोटेबल मानों में (डेविड_मिलर); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.54

  1. कैसे एक MySQL दृश्य बनाने के लिए?

    एक MySQL व्यू बनाने के लिए, नीचे दिए गए सिंटैक्स के अनुसार CREATE VIEW का उपयोग करें - अपने व्यूनाम को अपने टेबलनाम से चुनें * के रूप में बनाएं; आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1802 (StudentId int, StudentName varchar(20));क्वेरी ठीक, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इंसर्ट कमांड का

  1. लिनक्स में इवोल्यूशन से थंडरबर्ड में माइग्रेट कैसे करें

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