![न्यूनतम आरएचईएल/सेंटोस 7 इंस्टालेशन के बाद करने के लिए 30 चीजें](/f/95c71ebbb43e2e30794f8a39b34795ad.jpeg?width=100&height=100)
a. के घटकों को स्थापित करने के बाद CentOS/RHEL 7 सर्वर पर LAMP स्टैक, कुछ चीजें हैं जो आप करना चाह सकते हैं।
उनमें से कुछ के साथ करना है Apache और MySQL / MariaDB. की सुरक्षा बढ़ाना, जबकि अन्य हमारे सेटअप या जरूरतों के अनुसार लागू हो सकते हैं या नहीं।
उदाहरण के लिए, डेटाबेस सर्वर के अपेक्षित उपयोग के आधार पर, हम डिफ़ॉल्ट को बदलना चाह सकते हैं तथ्य निर्देशिका (/var/lib/mysql
) एक अलग स्थान पर। यह वह स्थिति है जब उच्च उपयोग के कारण ऐसी निर्देशिका के बढ़ने की उम्मीद है।
अन्यथा, फाइल सिस्टम जहां /var
संग्रहीत है एक बिंदु पर ढह सकता है जिससे पूरा सिस्टम विफल हो सकता है। एक अन्य परिदृश्य जहां डिफ़ॉल्ट निर्देशिका को बदलना तब होता है जब हमारे पास एक समर्पित नेटवर्क शेयर होता है जिसे हम अपने वास्तविक डेटा को संग्रहीत करने के लिए उपयोग करना चाहते हैं।
इस कारण से, इस लेख में, हम समझाएंगे कि डिफ़ॉल्ट MySQL / MariaDB डेटा निर्देशिका को CentOS/RHEL 7 सर्वर और उबंटू/डेबियन वितरण पर एक अलग पथ में कैसे बदला जाए।
हालांकि हम उपयोग करेंगे मारियाडीबी, व्याख्या की गई अवधारणाएं और इस लेख में उठाए गए कदम दोनों पर लागू होते हैं माई एसक्यूएल और करने के लिए मारियाडीबी यदि लिखा नहीं गया तो।
ध्यान दें: हम यह मानने जा रहे हैं कि हमारी नई डेटा निर्देशिका है /mnt/mysql-data
. यह ध्यान रखना महत्वपूर्ण है कि इस निर्देशिका का स्वामित्व होना चाहिए mysql: mysql
.
# mkdir /mnt/mysql-data. # chown -R mysql: mysql /mnt/mysql-data.
आपकी सुविधा के लिए, हमने इस प्रक्रिया को 5 आसान-से-पालन चरणों में विभाजित किया है:
शुरू करने के लिए, निम्न आदेश का उपयोग करके वर्तमान डेटा निर्देशिका की पहचान करना योग्य और अच्छा है। यह मत समझो कि यह अभी भी है /var/lib/mysql
क्योंकि इसे अतीत में बदला जा सकता था।
# mysql -u root -p -e "@@datadir चुनें;"
MySQL पासवर्ड दर्ज करने के बाद, आउटपुट समान होना चाहिए।
डेटा भ्रष्टाचार से बचने के लिए, यदि सेवा वर्तमान में चल रही है तो आगे बढ़ने से पहले उसे रोक दें। उपयोग सिस्टमडी ऐसा करने के लिए प्रसिद्ध आदेश:
सिस्टमडी पर # systemctl बंद करो मारीदब। # systemctl is-active mariadb SysVInit. पर # सर्विस mysqld स्टॉप। # सर्विस mysqld स्टेटस या # सर्विस mysql स्टॉप। # सेवा mysql स्थिति।
यदि सेवा को नीचे लाया गया है, तो अंतिम कमांड का आउटपुट निम्नानुसार होना चाहिए:
फिर की सामग्री को पुनरावर्ती रूप से कॉपी करें /var/lib/mysql
प्रति /mnt/mysql-data
मूल अनुमतियों और टाइमस्टैम्प को संरक्षित करना:
# सीपी-आर-पी /var/lib/mysql/* /mnt/mysql-data.
कॉन्फ़िगरेशन फ़ाइल संपादित करें (my.cnf
) नई डेटा निर्देशिका को इंगित करने के लिए (/mnt/mysql-data
इस मामले में)।
# vi /etc/my.cnf. या। # vi /etc/mysql/my.cnf.
पता लगाएँ [mysqld]
तथा [ग्राहक]
अनुभाग और निम्नलिखित परिवर्तन करें:
[mysqld] के तहत: डेटादिर =/mnt/mysql-data. सॉकेट=/mnt/mysql-data/mysql.sock [क्लाइंट] के तहत: पोर्ट = 3306। सॉकेट=/mnt/mysql-data/mysql.sock.
परिवर्तनों को सहेजें और फिर अगले चरण के साथ आगे बढ़ें।
यह चरण केवल पर लागू होता है आरएचईएल/सेंटोस और इसके डेरिवेटिव।
इसमें SELinux सुरक्षा प्रसंग जोड़ें /mnt/mysql-data
मारियाडीबी को पुनरारंभ करने से पहले।
# सेमेनेज fcontext -a -t mysqld_db_t "/mnt/mysql-data(/.*)?" # रिस्टोरकॉन -R /mnt/mysql-data.
अगला MySQL सेवा को पुनरारंभ करें।
सिस्टमडी पर # systemctl बंद करो मारीदब। # systemctl is-active mariadb SysVInit. पर # सर्विस mysqld स्टॉप। # सर्विस mysqld स्टेटस या # सर्विस mysql स्टॉप। # सेवा mysql स्थिति।
अब, उसी कमांड का उपयोग करें जैसे in चरण 1 नई डेटा निर्देशिका के स्थान को सत्यापित करने के लिए:
# mysql -u root -p -e "@@datadir चुनें;"
मारियाडीबी में लॉग इन करें, एक नया डेटाबेस बनाएं और फिर जांचें /mnt/mysql-data
:
# mysql -u root -p -e "डेटाबेस टेकमिंट बनाएं;"
बधाई हो! आपने MySQL या MariaDB के लिए डेटा निर्देशिका को सफलतापूर्वक बदल दिया है।
इस पोस्ट में, हमने चर्चा की है कि CentOS/RHEL 7 और Ubuntu/Debian वितरण पर चलने वाले MySQL या MariaDB सर्वर में डेटा निर्देशिका को कैसे बदला जाए।
क्या आपके पास इस लेख के बारे में कोई प्रश्न या टिप्पणी है? नीचे दिए गए फॉर्म का उपयोग करके हमें बेझिझक बताएं - हम आपसे सुनकर हमेशा खुश होते हैं!