17. Ubuntu पर सुरक्षित डेटाबेस सर्वर सेट अप करना: MySQL बनाम MariaDB

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

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


पिछले लेख:

01. Ubuntu सर्वर का परिचय – SysOSX: AI & Cloud

02. अपना पहला Ubuntu सर्वर कैसे सेट अप करें: शुरुआती लोगों के लिए मार्गदर्शिका – SysOSX: AI & Cloud

03. Ubuntu सर्वर के लिए Linux कमांड लाइन में महारत हासिल करना – SysOSX: AI & Cloud

04. Ubuntu सर्वर पर उपयोगकर्ताओं और अनुमतियों का प्रबंधन: एक व्यापक मार्गदर्शिका – SysOSX: AI & Cloud

05. Ubuntu सर्वर के लिए नेटवर्किंग की मूल बातें: एक व्यापक मार्गदर्शिका – SysOSX: AI & Cloud

06. Ubuntu सर्वर पर सॉफ़्टवेयर इंस्टॉल और प्रबंधित करना: एक संपूर्ण मार्गदर्शिका – SysOSX: AI & Cloud

07.Ubuntu सर्वर को पैच करना और अपडेट करना: एक व्यापक मार्गदर्शिका – SysOSX: AI & Cloud

08. अपने Ubuntu सर्वर को सुरक्षित करना: सख्तीकरण और सुरक्षा के लिए व्यावहारिक चरण – SysOSX: AI & Cloud

09. Ubuntu सर्वर ऑडिटिंग और लॉगिंग

10. Ubuntu सर्वर के लिए सिस्टम मॉनिटरिंग टूल: एक व्यापक मार्गदर्शिका – SysOSX: AI & Cloud

11. Ubuntu सर्वर के लिए केंद्रीकृत लॉगिंग: अवश्य पढ़ने योग्य मार्गदर्शिका – SysOSX: AI & Cloud

12. Ubuntu सर्वर के लिए ऑडिट और अनुपालन: सर्वोत्तम प्रथाएँ – SysOSX: AI & Cloud

13. होस्टिंग और वेब एप्लिकेशन के लिए अपना Ubuntu सर्वर सेट अप करना: अंतिम मार्गदर्शिका – SysOSX: AI & Cloud

14. एक ही Ubuntu सर्वर पर कई वेबसाइट होस्ट करें: उपयोगी सुझाव – SysOSX: AI & Cloud

15. Ubuntu सर्वर पर स्टोरेज और डिस्क प्रबंधित करना: सरल मार्गदर्शिका – SysOSX: AI & Cloud

16. Ubuntu सर्वर पर फ़ाइल साझाकरण सेवाएँ सेट अप करना: एक संपूर्ण मार्गदर्शिका – SysOSX: AI & Cloud



पूर्वापेक्षाएँ

शुरू करने से पहले, निम्नलिखित सुनिश्चित करें:

  • Ubuntu Server: Ubuntu का एक चालू इंस्टेंस (20.04 या बाद के संस्करण की अनुशंसा की जाती है)।
  • प्रशासनिक पहुँच: डेटाबेस सर्वर को इंस्टॉल और कॉन्फ़िगर करने के लिए आपको आवश्यकता होगी: sudo विशेषाधिकारों की।
  • इंटरनेट कनेक्शन: पैकेज और अपडेट डाउनलोड करने के लिए आवश्यक है।

MySQL बनाम MariaDB: प्रमुख अंतर

हालाँकि MySQL और MariaDB की जड़ें समान हैं, हाल के वर्षों में वे अलग-अलग विशेषताएँ प्रदान करने के लिए अलग हो गए हैं। यह तुलना आपको अपनी आवश्यकताओं के लिए सही डेटाबेस सर्वर चुनने में मदद करेगी:

विशेषताMySQLMariaDB
लाइसेंसदोहरी लाइसेंस (GPL और मालिकाना)ओपन-सोर्स (GPL)
प्रदर्शनपठन-प्रधान वर्कलोड के लिए अनुकूलितपठन और लेखन दोनों वर्कलोड के लिए बेहतर प्रदर्शन
डिफ़ॉल्ट स्टोरेज इंजनInnoDBAria (InnoDB का विकल्प)
विशेषताएँएंटरप्राइज़ सुविधाएँ सशुल्क संस्करणों में उपलब्ध हैंकई विशेषताएँ (जैसे, थ्रेड पूल, JSON फ़ंक्शन) ओपन-सोर्स हैं
संगतताव्यापक रूप से उपयोग किया जाता है और प्रमुख प्लेटफ़ॉर्म द्वारा समर्थित हैMySQL के साथ संगत है लेकिन कुछ मालिकाना MySQL सुविधाओं का समर्थन नहीं कर सकता है
प्रतिकृतिपारंपरिक प्रतिकृतिGalera Cluster समर्थन के साथ उन्नत प्रतिकृति
समुदाय समर्थनबड़ा समुदाय और एंटरप्राइज़ समर्थन विकल्पमजबूत ओपन-सोर्स समुदाय समर्थन

अनुशंसा:

  • चुनें: MySQL यदि आपको एंटरप्राइज़-ग्रेड सुविधाओं और मालिकाना टूल के साथ संगतता की आवश्यकता है।
  • चुनें: MariaDB यदि आप उन्नत सुविधाओं और प्रदर्शन वाला ओपन-सोर्स सॉफ़्टवेयर पसंद करते हैं।

MySQL या MariaDB इंस्टॉल करना

चरण 1: पैकेज रिपॉजिटरी अपडेट करें

अपना सिस्टम अपडेट करें ताकि यह सुनिश्चित हो सके कि आप नवीनतम पैकेज संस्करणों के साथ काम कर रहे हैं:

sudo apt update && sudo apt upgrade

चरण 2: MySQL या MariaDB इंस्टॉल करें

आप अपनी पसंद के आधार पर MySQL या MariaDB इंस्टॉल कर सकते हैं।

MySQL इंस्टॉल करना:

sudo apt install mysql-server

MariaDB इंस्टॉल करना:

sudo apt install mariadb-server

चरण 3: इंस्टॉलेशन सत्यापित करें

इंस्टॉलेशन के बाद, सुनिश्चित करें कि डेटाबेस सर्वर चल रहा है:

MySQL के लिए:

sudo systemctl status mysql

MariaDB के लिए:

sudo systemctl status mariadb


डेटाबेस सर्वर कॉन्फ़िगर करना

चरण 1: बुनियादी कॉन्फ़िगरेशन

प्रदर्शन और सुरक्षा को अनुकूलित करने के लिए कॉन्फ़िगरेशन फ़ाइल संपादित करें।

MySQL के लिए:

sudo nano /etc/mysql/my.cnf

MariaDB के लिए:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

समायोजित करने के लिए प्रमुख सेटिंग्स:

  • bind-address: इसे इस पर सेट करें: 0.0.0.0 यदि आप दूरस्थ पहुँच चाहते हैं।
  • max_connections: उच्च-ट्रैफ़िक एप्लिकेशन के लिए इस मान को बढ़ाएँ।

बदलाव करने के बाद, सेवा पुनरारंभ करें:

sudo systemctl restart mysql   # For MySQL
sudo systemctl restart mariadb # For MariaDB

चरण 2: डेटाबेस सर्वर का परीक्षण करें

डेटाबेस सर्वर में लॉग इन करें ताकि यह सुनिश्चित हो सके कि यह काम कर रहा है:

mysql -u root -p


अपने डेटाबेस सर्वर को सुरक्षित करना

चरण 1: सुरक्षा स्क्रिप्ट चलाएँ

अपने डेटाबेस सर्वर को सख्त करने के लिए अंतर्निहित सुरक्षा स्क्रिप्ट का उपयोग करें।

sudo mysql_secure_installation

संकेतों का पालन करें:

  • मजबूत रूट पासवर्ड सेट करें।
  • अनाम उपयोगकर्ताओं को हटाएँ।
  • दूरस्थ रूट लॉगिन अक्षम करें।
  • परीक्षण डेटाबेस हटाएँ।

चरण 2: फ़ायरवॉल नियम कॉन्फ़िगर करें

का उपयोग करके डेटाबेस सर्वर तक पहुँच प्रतिबंधित करें: ufw:

sudo ufw allow from <your-ip-address> to any port 3306

बदलें: <your-ip-address> उस IP पते से जिसके लिए पहुँच आवश्यक है।

चरण 3: SSL/TLS सक्षम करें

बढ़ी हुई सुरक्षा के लिए, SSL/TLS कनेक्शन सक्षम करें। सेटअप निर्देशों के लिए देखें: MySQL दस्तावेज़ या MariaDB दस्तावेज़ ।

(MySQL के लिए उदाहरण)

  1. प्रमाणपत्र जनरेट करें:
sudo mysql_ssl_rsa_setup --uid=mysql  
  1. कॉन्फ़िग में सक्षम करें:
[mysqld]  
ssl-ca = /var/lib/mysql/ca.pem  
ssl-cert = /var/lib/mysql/server-cert.pem  
ssl-key = /var/lib/mysql/server-key.pem  

चरण 4: Fail2Ban इंस्टॉल करें (वैकल्पिक)

sudo apt install fail2ban  

MySQL/MariaDB के लिए jail नियम इसमें कॉन्फ़िगर करें /etc/fail2ban/jail.local.


अपने डेटाबेस सर्वर का प्रबंधन करना

चरण 1: डेटाबेस बनाएँ

अपने एप्लिकेशन के लिए डेटाबेस बनाएँ:

CREATE DATABASE my_application_db;

चरण 2: उपयोगकर्ता बनाएँ और विशेषाधिकार प्रदान करें

उपयोगकर्ता बनाएँ और विशेषाधिकार असाइन करें:

CREATE USER 'app_user'@'%' IDENTIFIED BY 'secure_password';
GRANT ALL PRIVILEGES ON my_application_db.* TO 'app_user'@'%';
FLUSH PRIVILEGES;

चरण 3: प्रदर्शन की निगरानी करें

# Analyze slow queries  
sudo mysqldumpslow -s t /var/log/mysql/mysql-slow.log  

# Use MySQLTuner  
wget https://mysqltuner.pl -O mysqltuner.pl  
perl mysqltuner.pl  

चरण 4: बैकअप और पुनर्स्थापना

नियमित बैकअप डेटा सुरक्षा के लिए आवश्यक हैं।

बैकअप:

mysqldump -u root -p my_application_db > my_application_db.sql

पुनर्स्थापना:

mysql -u root -p my_application_db < my_application_db.sql

स्वचालित बैकअप (Cron जॉब)

# Daily backup at 2 AM  
0 2 * * * /usr/bin/mysqldump -u root -p PASSWORD app_db > /backups/app_db_$(date +\%F).sql  

निष्कर्ष

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

आगे क्या है:
हमारी अगली मार्गदर्शिका में, “Ubuntu पर LVM में महारत हासिल करना: डेटाबेस सर्वर के लिए लचीला स्टोरेज”, आप सीखेंगे कि कैसे:

  • गतिशील डेटाबेस स्टोरेज के लिए लॉजिकल वॉल्यूम बनाएँ और प्रबंधित करें।
  • डाउनटाइम के बिना डिस्क का आकार बदलें।
  • संगत बैकअप के लिए स्नैपशॉट लागू करें।

इसे मिस न करें – अपडेट रहने के लिए हमारे ब्लॉग को फ़ॉलो करें!

टिप्पणी छोड़ें