MySQL सबसे आम ओपन-सोर्स रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (RDBMS) में से एक है, जो स्ट्रक्चर्ड क्वेरी लैंग्वेज (SQL) पर आधारित है, जो एक प्रोग्रामिंग लैंग्वेज है जिसका इस्तेमाल डेटाबेस में रखे गए डेटा को मैनेज करने के लिए किया जाता है।
यह बैकएंड विकास में शामिल होने वाले नए लोगों के लिए भी उपयोग करने के लिए तेज़, सीधा है, और Xampp, Lampp, और Wamp जैसे विभिन्न स्टैक पैकेजों में एकीकृत है।
इस विशेष पोस्ट में, हम आपको दिखाएंगे कि अपने उबंटू सिस्टम में MySQL सर्वर कैसे स्थापित करें। अतिरिक्त जानकारी में सुरक्षा विकल्पों को कॉन्फ़िगर करना, प्रमाणीकरण विधियों को समायोजित करना और एक नया उपयोगकर्ता बनाना शामिल है। इस ट्यूटोरियल में हमारी पसंद की उबंटू रिलीज उबंटू 20.04 एलटीएस है, जो इस लेख को लिखने के रूप में नवीनतम रिलीज है।
उबंटू पर MySQL इंस्टाल करना
आवश्यकताएं
आपको अपने सिस्टम पर उन्नत विशेषाधिकार (रूट) की आवश्यकता होगी। आप नीचे दिए गए आदेश को निष्पादित करके ऐसा कर सकते हैं।
sudo su
प्रक्रिया
इस पोस्ट को लिखने के समय, वर्तमान MySQL Linux रिलीज़ संस्करण 5.7 है। स्थापना के साथ आरंभ करने के लिए, नीचे दिए गए चरणों का पालन करें:
चरण 1) सुनिश्चित करें कि आपके सिस्टम के सभी पैकेज और रिपॉजिटरी अप टू डेट हैं। आप नीचे दिए गए आदेश को चलाकर ऐसा कर सकते हैं:
sudo apt update
चरण 2) अब, हम उपयुक्त पैकेज मैनेजर के माध्यम से MySQL स्थापित करेंगे। नीचे दिए गए आदेश को निष्पादित करें।
sudo apt install mysql-server
चरण 3) एक सफल स्थापना के बाद, mysql- सेवा स्वचालित रूप से शुरू होनी चाहिए। आप नीचे दिए गए आदेश को निष्पादित करके इसकी पुष्टि कर सकते हैं:
sudo systemctl status mysql
आपको नीचे दी गई छवि के समान आउटपुट मिलना चाहिए।
किसी भी स्थिति में सेवा नहीं चल रही है, नीचे दिए गए आदेश को निष्पादित करें:
sudo /etc/init.d/mysql start
MySQL स्थापना सत्यापित करें (वैकल्पिक)
आप नीचे दिए गए आदेश को चलाकर अपनी स्थापना को सत्यापित कर सकते हैं, जो आपके सिस्टम में स्थापित MySQL संस्करण और वितरण को आउटपुट करेगा।
mysql --version
अपना MySQL सर्वर सुरक्षित करें
अब जब MySQL सर्वर सफलतापूर्वक स्थापित हो गया है, तो आपको भविष्य में कॉन्फ़िगर किए गए सर्वर और डेटाबेस की सुरक्षा सुनिश्चित करने के लिए कुछ पैरामीटर सेट करने की आवश्यकता है।
अन्य मामलों में, MySQL सर्वर पैकेज स्थापना पूर्ण होने के बाद, mysql-सुरक्षित-स्थापना उपयोगिता स्वचालित रूप से लॉन्च हो जाएगी। हालाँकि, यदि आपके लिए ऐसा नहीं है, तो नीचे दिए गए आदेश को निष्पादित करें:
sudo mysql_secure_installation
आपको एक संकेत दिखाई देगा जो आपसे पूछेगा कि पासवर्ड प्लगिन को मान्य करना है या नहीं। यह उपयोगकर्ता पासवर्ड की ताकत की जाँच करके MySQL सर्वर सुरक्षा को बढ़ाता है जिससे उपयोगकर्ता केवल मजबूत पासवर्ड सेट कर सकते हैं। सत्यापन स्वीकार करने के लिए Y दबाएं या छोड़ने के लिए रिटर्न कुंजी दबाएं।
इसके बाद, आपको रूट पासवर्ड सेट करने के लिए एक प्रॉम्प्ट देखना चाहिए। अपना पासवर्ड दर्ज करें और एंटर दबाएं। ध्यान दें, सुरक्षा कारणों से, आप जो कुछ भी कंसोल में टाइप करते हैं वह प्रदर्शित नहीं होता है।
इसके बाद, आपको एक संकेत दिखाई देना चाहिए जो आपसे पूछेगा कि क्या सभी अनाम उपयोगकर्ताओं को हटाना है, Y के लिए Y दर्ज करें। यहां से किसी अन्य संकेत के लिए, हाँ के लिए Y दर्ज करें।
रूट के रूप में लॉगिन करें और उपयोगकर्ता प्रमाणीकरण समायोजित करें
MySQL सर्वर क्लाइंट-साइड यूटिलिटी के साथ आता है जो आपको लिनक्स टर्मिनल से डेटाबेस तक पहुंचने और इंटरैक्ट करने की अनुमति देता है।
आमतौर पर, बिना किसी कॉन्फ़िगरेशन के उबंटू पर MySQL की एक नई स्थापना के बाद, सर्वर तक पहुंचने वाले उपयोगकर्ताओं को प्रमाणीकरण सॉकेट (auth_socket) प्लगइन का उपयोग करके प्रमाणित किया जाता है।
auth_socket का उपयोग सर्वर को पासवर्ड का उपयोग करके उपयोगकर्ता को प्रमाणित करने से रोकता है। यह न केवल सुरक्षा चिंताओं को बढ़ाता है, बल्कि यह phpMyAdmin जैसे बाहरी कार्यक्रमों का उपयोग करके उपयोगकर्ताओं को डेटाबेस तक पहुँचने से भी रोकता है। हमें प्रमाणीकरण विधि को auth_socket से mysql_native_password के उपयोग में बदलने की आवश्यकता है।
ऐसा करने के लिए, हमें MySQL कंसोल को खोलना होगा। Linux टर्मिनल पर निम्न कमांड चलाएँ।
sudo mysql
अब, हमें विभिन्न उपयोगकर्ताओं पर डेटाबेस द्वारा उपयोग की जाने वाली प्रमाणीकरण विधि की जांच करने की आवश्यकता है। आप नीचे दिए गए आदेश को चलाकर ऐसा कर सकते हैं।
SELECT user,authentication_string,plugin,host FROM mysql.user;
ऊपर की छवि से, हम पुष्टि कर सकते हैं कि रूट उपयोगकर्ता वास्तव में auth_socket प्लगइन का उपयोग करके प्रमाणित किया गया है। हमें नीचे दिए गए 'ALTER USER' कमांड का उपयोग करके 'पासवर्ड प्रमाणीकरण' के उपयोग पर स्विच करने की आवश्यकता है। सुनिश्चित करें कि आप एक सुरक्षित पासवर्ड का उपयोग करते हैं (संख्याओं, स्ट्रिंग्स और विशेष प्रतीकों को मिलाकर आठ वर्णों से अधिक होना चाहिए) क्योंकि यह ऊपर दिए गए कमांड 'sudo mysql_secure_installation' को निष्पादित करते समय आपके द्वारा सेट किए गए पासवर्ड को बदल देगा। नीचे कमांड चलाएँ।
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';
ध्यान दें, ऊपर की छवि में हाइलाइट किया गया टेक्स्ट वह जगह है जहां आप अपना सुरक्षित पासवर्ड दर्ज करेंगे। इसे सिंगल टैग के बीच में संलग्न करें। अब, हमें अनुदान तालिकाओं को पुनः लोड करने और MySQL-सर्वर में परिवर्तनों को अद्यतन करने की आवश्यकता है। नीचे दिए गए आदेश को निष्पादित करके ऐसा करें।
FLUSH PRIVILEGES;
एक बार हो जाने के बाद, हमें यह पुष्टि करने की आवश्यकता है कि रूट उपयोग अब प्रमाणीकरण के लिए auth_socket का उपयोग नहीं करता है। नीचे दिए गए आदेश को फिर से चलाकर ऐसा करें।
SELECT user,authentication_string,plugin,host FROM mysql.user;
ऊपर की छवि से, हम देखते हैं कि रूट प्रमाणीकरण विधि 'auth_socket' से 'पासवर्ड' में बदल गई है।
चूंकि हमने रूट के लिए प्रमाणीकरण विधि बदल दी है, हम उसी कमांड का उपयोग नहीं कर सकते हैं जिसका उपयोग हमने पहले MySQL कंसोल को खोलने के लिए किया था। वह है, 'सुडो माइस्क्ल'। हमें नीचे दिखाए गए अनुसार उपयोगकर्ता नाम और पासवर्ड पैरामीटर शामिल करने की आवश्यकता होगी।
mysql -u root -p
'-यू' उपयोगकर्ता को इंगित करता है, जो हमारे मामले के लिए 'रूट' है और '-पी' का अर्थ 'पासवर्ड' है, जिसे सर्वर एंटर कुंजी दबाते ही आपको दर्ज करने के लिए प्रेरित करेगा।
नया उपयोगकर्ता बनाना
एक बार सब कुछ सेट हो जाने के बाद, आप एक नया उपयोगकर्ता बना सकते हैं जिसे आप उपयुक्त विशेषाधिकार प्रदान करेंगे। यहां हमारे मामले में, हम एक उपयोगकर्ता 'tuts_fosslinux' बनाएंगे और सभी डेटाबेस तालिकाओं पर अधिकार प्रदान करेंगे और उपयोगकर्ता विशेषाधिकारों को बदलने, हटाने और जोड़ने की अनुमति देंगे। पंक्ति के नीचे के आदेशों को पंक्ति द्वारा निष्पादित करें।
CREATE USER 'tuts_fosslinux'@'localhost' IDENTIFIED BY 'strong_password'; GRANT ALL PRIVILEGES ON *.* TO 'tuts_fosslinux'@'localhost' WITH GRANT OPTION;
पहला कमांड नया उपयोगकर्ता बनाएगा, और दूसरा आवश्यक विशेषाधिकार प्रदान करेगा।
अब हम नीचे दिए गए आदेश को चलाकर अपने नए उपयोगकर्ता का परीक्षण कर सकते हैं।
mysql -u tuts_fosslinux -p
उबंटू सर्वर पर MySQL-सर्वर स्थापित करें
उबंटू सर्वर पर MySQL-सर्वर को स्थापित करना ऊपर वर्णित चरणों से बहुत अधिक अंतर नहीं है। हालांकि, चूंकि सर्वर को दूरस्थ रूप से एक्सेस किया जाता है, इसलिए हमें अपने सर्वर के लिए रिमोट एक्सेस को भी सक्षम करना होगा।
डेटाबेस को स्थापित करने और सुरक्षा विकल्पों को कॉन्फ़िगर करने के लिए, टर्मिनल पर लाइन दर लाइन निम्न कमांड चलाएँ।
sudo apt update sudo apt install mysql-server sudo mysql_secure_installation
एक सफल इंस्टॉलेशन के बाद, हमें रिमोट एक्सेस को सक्षम करना होगा। तार्किक रूप से, हमें बस इतना करना है कि MySQL सर्वर के संचार के लिए उबंटू सर्वर फ़ायरवॉल पर एक पोर्ट खोलना है। डिफ़ॉल्ट रूप से, MySQL सेवा पोर्ट 3306 पर चलती है। नीचे दिए गए आदेश चलाएँ।
sudo ufw enable
sudo ufw allow mysql
हमारे MySQL डेटाबेस की विश्वसनीयता और पहुंच को बढ़ाने के लिए, हम बूट पर चलने के लिए MySQL-सर्वर सेवा को कॉन्फ़िगर कर सकते हैं। ऐसा करने के लिए, नीचे दिए गए आदेश को निष्पादित करें।
sudo systemctl enable mysql
अब हमें अपने सर्वर के इंटरफेस को कॉन्फ़िगर करना होगा। यह सर्वर को दूरस्थ रूप से सुलभ इंटरफेस को सुनने में सक्षम करेगा। हमें 'mysqld.cnf' फाइल को एडिट करना होगा। नीचे दिए गए आदेश चलाएँ।
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
डिफ़ॉल्ट रूप से, बाइंड-एड्रेस '127.0.0.1' है। अपने सार्वजनिक नेट इंटरफेस के लिए बाइंड एड्रेस और सर्विस नेट इंटरफेस के लिए दूसरा जोड़ें। आप अपने बाइंड-एड्रेस को सभी आईपी-एड्रेस के लिए '0.0.0.0' के रूप में कॉन्फ़िगर कर सकते हैं।
निष्कर्ष
मुझे आशा है कि आपने अपने उबंटू सिस्टम पर MySQL सर्वर स्थापित करने पर इस ट्यूटोरियल का आनंद लिया। यदि आप अभी MySQL के साथ शुरुआत कर रहे हैं और आपको केवल एक साधारण डेटाबेस और उपयोगकर्ता बनाने की आवश्यकता है, तो ऊपर दिए गए चरणों से बहुत मदद मिलनी चाहिए। यदि आपको यह लेख संसाधनपूर्ण लगता है, तो बेझिझक किसी मित्र के साथ लिंक साझा करें।