Ubuntu पर सुरक्षित डेटाबेस सर्वर सेट अप करना स्केलेबल और विश्वसनीय एप्लिकेशन बनाने के लिए एक महत्वपूर्ण आधार है। चाहे आप गतिशील वेब एप्लिकेशन तैनात कर रहे हों या जटिल एंटरप्राइज़ वर्कलोड प्रबंधित कर रहे हों, सही डेटाबेस समाधान चुनना आवश्यक है। MySQL और MariaDB दो सबसे लोकप्रिय ओपन-सोर्स डेटाबेस सिस्टम हैं, जो अपने प्रदर्शन, लचीलेपन और विश्वसनीयता के लिए जाने जाते हैं।
इस मार्गदर्शिका में, हम आपको Ubuntu सर्वर पर MySQL और MariaDB को इंस्टॉल, कॉन्फ़िगर और सुरक्षित करने की प्रक्रिया के बारे में चरण-दर-चरण बताएँगे। इसके अतिरिक्त, हम उनकी विशेषताओं की तुलना करेंगे ताकि आप अपने विशिष्ट उपयोग के मामले के लिए सर्वोत्तम विकल्प निर्धारित कर सकें। इस चरण-दर-चरण दृष्टिकोण से, आप अपने एप्लिकेशन के लिए एक सुरक्षित और मजबूत डेटाबेस वातावरण सेट अप करने में सक्षम होंगे।
पिछले लेख:
01. Ubuntu सर्वर का परिचय – SysOSX: AI & Cloud
02. अपना पहला Ubuntu सर्वर कैसे सेट अप करें: शुरुआती लोगों के लिए मार्गदर्शिका – SysOSX: AI & Cloud
03. Ubuntu सर्वर के लिए Linux कमांड लाइन में महारत हासिल करना – SysOSX: AI & Cloud
05. Ubuntu सर्वर के लिए नेटवर्किंग की मूल बातें: एक व्यापक मार्गदर्शिका – SysOSX: AI & Cloud
07.Ubuntu सर्वर को पैच करना और अपडेट करना: एक व्यापक मार्गदर्शिका – SysOSX: AI & Cloud
09. Ubuntu सर्वर ऑडिटिंग और लॉगिंग
10. Ubuntu सर्वर के लिए सिस्टम मॉनिटरिंग टूल: एक व्यापक मार्गदर्शिका – SysOSX: AI & Cloud
11. Ubuntu सर्वर के लिए केंद्रीकृत लॉगिंग: अवश्य पढ़ने योग्य मार्गदर्शिका – SysOSX: AI & Cloud
12. 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 की जड़ें समान हैं, हाल के वर्षों में वे अलग-अलग विशेषताएँ प्रदान करने के लिए अलग हो गए हैं। यह तुलना आपको अपनी आवश्यकताओं के लिए सही डेटाबेस सर्वर चुनने में मदद करेगी:
| विशेषता | MySQL | MariaDB |
|---|---|---|
| लाइसेंस | दोहरी लाइसेंस (GPL और मालिकाना) | ओपन-सोर्स (GPL) |
| प्रदर्शन | पठन-प्रधान वर्कलोड के लिए अनुकूलित | पठन और लेखन दोनों वर्कलोड के लिए बेहतर प्रदर्शन |
| डिफ़ॉल्ट स्टोरेज इंजन | InnoDB | Aria (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 के लिए उदाहरण)
- प्रमाणपत्र जनरेट करें:
sudo mysql_ssl_rsa_setup --uid=mysql
- कॉन्फ़िग में सक्षम करें:
[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 में महारत हासिल करना: डेटाबेस सर्वर के लिए लचीला स्टोरेज”, आप सीखेंगे कि कैसे:
- गतिशील डेटाबेस स्टोरेज के लिए लॉजिकल वॉल्यूम बनाएँ और प्रबंधित करें।
- डाउनटाइम के बिना डिस्क का आकार बदलें।
- संगत बैकअप के लिए स्नैपशॉट लागू करें।
इसे मिस न करें – अपडेट रहने के लिए हमारे ब्लॉग को फ़ॉलो करें!