MySQL एक ओपन-सोर्स, शक्तिशाली और व्यापक रूप से उपयोग किया जाने वाला रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (RDBMS) है जो डेटा को सिंगल या मल्टीपल डेटा टेबल में व्यवस्थित करता है जहाँ डेटा प्रकार एक दूसरे से संबंधित हो सकते हैं। स्ट्रक्चर्ड क्वेरी लैंग्वेज (एसक्यूएल) आरडीबीएमएस के साथ काम करती है, और जब कोई डेटा की बड़ी मात्रा को स्टोर या प्रबंधित करना चाहता है, तो वे रिलेशनल डेटाबेस और एसक्यूएल की सेवा हासिल कर लेंगे।
यह आलेख दिखाता है कि अपने Ubuntu 18.04 सर्वर पर MySQL को कैसे कॉन्फ़िगर करें। यह आपको सेवा प्रबंधन के बाद प्रमाणीकरण को सक्षम करने का तरीका भी दिखाता है। अंत में, आप यह भी सीखेंगे कि सफल कॉन्फ़िगरेशन को सत्यापित करने के लिए सेवा का परीक्षण कैसे करें।
चरण 1:MySQL क्लाइंट इंस्टॉलेशन
mysql-क्लाइंट स्थापित करें सर्वर से दूरस्थ रूप से जुड़ने के लिए:
sudo apt install mysql-client -y
यह सत्यापित करने के लिए क्लाइंट संस्करण की जाँच करें कि क्या स्थापना सफल रही:
mysql -V
आउटपुट:
x86_64 ((उबंटू)) पर लिनक्स के लिएmysql Ver 8.0.28-0ubuntu0.20.04.3 for Linux on x86_64 ((Ubuntu))
अब आप MySQL सर्वर के साथ रिमोट कनेक्शन स्थापित करने के लिए निम्न कमांड का उपयोग कर सकते हैं:
mysql -u <username> -p <password>-h HOSTNAME_OR_IP
चरण 2:MySQL सर्वर इंस्टालेशन
MySQL स्थापित करने से पहले, सुनिश्चित करें कि उबंटू सर्वर ठीक से स्थापित और कॉन्फ़िगर किया गया है। डिफ़ॉल्ट रूप से Ubuntu 18.04 सर्वर में रिपॉजिटरी में नवीनतम MySQL संस्करण 5.7 शामिल है। रिपॉजिटरी से सिस्टम पैकेज को अपडेट करने के लिए उपयुक्त कमांड का प्रयोग करें:
sudo apt update
अब MySQL सर्वर पैकेज को इंस्टाल करने के लिए निम्न कमांड का उपयोग करें:
sudo apt install mysql-server -y
चरण 3:MySQL कॉन्फ़िगरेशन
लगातार साइबर सुरक्षा खतरों के इस युग में, सफल सर्वर स्थापना के बाद डिफ़ॉल्ट विकल्पों को बदलना एक मानक है। यह अनुभाग आपको असुरक्षित डिफ़ॉल्ट विकल्पों जैसे रिमोट रूट लॉगिन, डिफ़ॉल्ट उपयोगकर्ता खाते आदि को समाप्त करने के लिए MySQL सर्वर कॉन्फ़िगरेशन पर मार्गदर्शन करता है। MySQL एक साधारण सुरक्षा स्क्रिप्ट चलाने की सहायता से सभी परिवर्तनों को स्वचालित रूप से करके इस कार्य को आसान बनाता है।
sudo mysql_secure_installation
स्क्रिप्ट MySQL डिफ़ॉल्ट सुरक्षा को बदलने के लिए हां या ना में जवाब देने के लिए कई विकल्पों का संकेत देती है। उदाहरण के लिए, यदि आप पासवर्ड सत्यापित करने के लिए प्लग इन सेट करना चाहते हैं, तो पहला संकेत अनुरोध, हां का उत्तर दें और जारी रखें।
अगला संकेत MySQL रूट उपयोगकर्ता खाता पासवर्ड सेट करने के लिए कहता है। आप देख सकते हैं कि Validate Password प्लगइन को सक्षम करने से पासवर्ड सुरक्षा नीति और लंबाई के तीन स्तरों के खिलाफ पासवर्ड की ताकत सेट करने की अनुमति मिलती है।
पासवर्ड स्ट्रेंथ सेट करने के लिए वह नंबर दर्ज करें जिसे आप चुनना चाहते हैं। सिस्टम तब नया पासवर्ड सेट करने के लिए कहेगा और पुष्टि के लिए इसे फिर से टाइप करेगा:
आप देख सकते हैं कि पासवर्ड सेट करने के बाद, यह ताकत प्रदर्शित करता है और पूछता है कि क्या आप आगे जारी रखना चाहते हैं।
अब यह आगे के प्रश्न पूछेगा:
- अनाम परीक्षण उपयोगकर्ता को हटाने के लिए
- रूट उपयोगकर्ता से दूरस्थ लॉगिन अक्षम करें
- परीक्षण डेटाबेस निकालें
- सभी परिवर्तनों को सहेजने के लिए विशेषाधिकार तालिका पुनः लोड करें
टाइप करें Y सुरक्षा नियम निर्धारित करने के लिए डिफ़ॉल्ट सेटिंग्स के साथ जारी रखने के लिए।
MySQL के पुराने संस्करणों (5.7.6 से पहले) के लिए आपको डेटाबेस निर्देशिका को मैन्युअल रूप से प्रारंभ करने की आवश्यकता होती है। उसके बाद के संस्करणों के लिए, निम्न कमांड चलाएँ:
mysqld –initialize
चरण 4:MySQL उपयोगकर्ता प्रमाणीकरण समायोजन
MySQL उपयोगकर्ता खाते के लिए पासवर्ड स्थापित करने के बावजूद, डिफ़ॉल्ट प्रमाणीकरण सेटिंग कनेक्शन स्थापना के दौरान पासवर्ड के उपयोग को अक्षम कर देती है। इसके बजाय, यह स्वचालित रूप से auth_socket . की सहायता से उपयोगकर्ता को प्रमाणित करता है लगाना। प्रयोज्यता के लिए प्लगइन एक महान विशेषता है, हालांकि, यदि आप अपने डेटाबेस को दूरस्थ क्लाइंट से एक्सेस करना चाहते हैं तो यह व्यावहारिक नहीं है।
चूंकि पासवर्ड के बिना डेटाबेस एक्सेस बाहरी प्रोग्राम द्वारा एक्सेस किए जाने पर कार्य प्रक्रिया को जटिल बनाता है, यह खंड कनेक्शन स्थापना पर उपयोगकर्ता को प्रमाणित करने के दो तरीकों को सारांशित करता है:
1. पासवर्ड के साथ रूट उपयोगकर्ता प्रमाणीकरण
पासवर्ड के माध्यम से उपयोगकर्ता प्रमाणीकरण सुनिश्चित करने के लिए, आप प्लगइन को "auth_socket . से बदल सकते हैं " से "mysql_native_password ।" इस उद्देश्य के लिए, sudo mysql . का उपयोग करके MySQL प्रॉम्प्ट स्क्रीन खोलें उपयोगकर्ता प्रमाणीकरण के लिए उपयोग में आने वाले प्लगइन को कमांड और सत्यापित करें, जो निम्नानुसार है:
SELECT user, authentication_string, plugin, host FROM mysql.user;
उपरोक्त स्क्रीनशॉट प्रदर्शित करता है कि रूट क्लाइंट "auth_socket" प्लगइन का उपयोग करके स्वयं को प्रमाणित करता है। पासवर्ड के साथ रूट क्लाइंट प्रमाणीकरण शुरू करने के लिए, "mysql_native_password" प्लगइन सेट करने के लिए ALTER USER स्टेटमेंट का उपयोग करें।
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
ऊपर दिए गए बदलावों को इस तरह सेव करें:
FLUSH PRIVILEGES;
"FLUSH PRIVILEGES" MySQL स्टेटमेंट ALTER, INSERT, UPDATE, और DELETE क्लॉज द्वारा किए गए डेटाबेस टेबल में बदलाव को सेव करता है।
अब प्रत्येक उपयोगकर्ता द्वारा उपयोग की गई प्रमाणीकरण रणनीतियों को सत्यापित करने के लिए और यह सुनिश्चित करने के लिए कि रूट क्लाइंट द्वारा "auth_socket" प्लगइन का उपयोग नहीं किया जाता है, कमांड को फिर से चलाएँ:
SELECT user,authentication_string,plugin,host FROM mysql.user;
अब रूट उपयोक्ता निम्नलिखित कमांड के माध्यम से प्रमाणित करके सर्वर से जुड़ सकता है:
sudo mysql -u root -p
2. एक समर्पित उपयोगकर्ता बनाएं
Mysql_native_password का उपयोग किए बिना प्रमाणीकरण सक्षम करने का दूसरा तरीका एक समर्पित उपयोगकर्ता बनाना है:
sudo mysql
एक नया खाता बनाएं और नए उपयोगकर्ता को प्रशासनिक स्तर का नियंत्रण सौंपने के लिए सभी विशेषाधिकार प्रदान करें। फिर, MySQL प्रॉम्प्ट से बाहर निकलें। इसे प्राप्त करने के लिए निम्नलिखित SQL क्वेरीज़ को एक-एक करके चलाएँ:
CREATE USER 'ubuntu'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'ubuntu'@'localhost' WITH GRANT OPTION;
exit
MySQL सेवा को systemctl के साथ प्रबंधित और परीक्षण करें
systemctl सक्षम . का उपयोग करके सेवा को Ubuntu सर्वर स्टार्टअप पर चलाने के लिए सेट करें आदेश इस प्रकार है:
sudo systemctl enable mysql
इसके अलावा, आप टाइप करके सर्वर के चालू और चालू होने का परीक्षण कर सकते हैं:
sudo systemctl status mysql
या
sudo systemctl status mysql.service
सेवा MySQL स्थापना के बाद स्वचालित रूप से चलती है, हालांकि, यदि ऐसा नहीं होता है, तो आप निम्न आदेश का उपयोग करके सेवा शुरू कर सकते हैं:
sudo systemctl start mysql
Ubuntu पर MySQL सर्वर के साथ शुरुआत करना
MySQL एक खुला स्रोत, उपयोगकर्ता के अनुकूल, स्केलेबल और मजबूत डेटाबेस प्रबंधन प्रणाली है। इसके अलावा, यह LAMP/LEMP स्टैक मॉडल या वेब एप्लिकेशन तकनीकों का एक अभिन्न अंग है। यह रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (RDBMS) अपने हाल के संस्करणों पर सरल इंस्टॉलेशन और आसान कॉन्फ़िगरेशन प्रदान करता है।
यह लेख आपको एक बुनियादी MySQL सेटअप बनाने में मार्गदर्शन करता है जो आपको यह सीखने में मदद करेगा कि MySQL कैसे काम करता है। यह डिफ़ॉल्ट सेटअप में खामियों से बचने के लिए इसके कॉन्फ़िगरेशन में कुछ प्रारंभिक महत्वपूर्ण सुरक्षा उपायों को भी शामिल करता है। आप कुछ उन्नत सुरक्षा युक्तियों का पालन करके MySQL को सुरक्षित करने के बारे में अधिक जान सकते हैं।