सुरक्षा कारणों से आमतौर पर MySQL डेटाबेस सर्वर के लिए रिमोट एक्सेस अक्षम है। हालाँकि, कुछ समय के लिए आपको घर या वेब सर्वर से MySQL डेटाबेस सर्वर तक दूरस्थ पहुँच प्रदान करने की आवश्यकता होती है। इसे सक्षम करने के लिए आप इन चरणों का पालन कर सकते हैं।
चरण 1 :SSH का उपयोग करके लॉग इन करें (यदि सर्वर आपके परिवेश या इंट्रानेट से बाहर है)
सबसे पहले, पुटी का उपयोग करके विंडोज़ से या एसएसएच का उपयोग करके लिनक्स से दूरस्थ MySQL डेटाबेस सर्वर पर ssh पर लॉगिन करें
चरण 2:my.cnf फ़ाइल संपादित करें
एक बार कनेक्ट होने के बाद आपको vi:
. जैसे टेक्स्ट एडिटर का उपयोग करके MySQL सर्वर कॉन्फ़िगरेशन फ़ाइल my.cnf को संपादित करने की आवश्यकता है- डेबियन लिनक्स पर फ़ाइल /etc/mysql/my.cnf . पर स्थित है स्थान।
- Red Hat Linux/Fedora/Centos Linux पर फ़ाइल /etc/my.cnf . पर स्थित है स्थान।
/etc/my.cnf संपादित करने के लिए, दौड़ें:
# vi /etc/my.cnf
- Windows . पर , my.ini फ़ाइल C:\Program Files\MySQL\MySQL Server X.Y पर स्थित है (X.Y MySQL सर्वर का वर्जन नंबर है)
विंडोज़ के लिए, my.ini फ़ाइल को नोटपैड में खोलें
चरण 3:एक बार फ़ाइल खुलने के बाद, उस पंक्ति का पता लगाएं जो इस प्रकार पढ़ती है
[mysqld]
सुनिश्चित करें कि लाइन स्किप-नेटवर्किंग पर टिप्पणी की गई है (या लाइन हटाएं) और निम्न पंक्ति जोड़ें
bind-address=YOUR-SERVER-IP
उदाहरण के लिए, यदि आपका MySQL सर्वर आईपी 173.234.21.12 है तो पूरा ब्लॉक इस तरह दिखेगा:
[mysqld] user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp language = /usr/share/mysql/English bind-address = 173.234.21.12 # skip-networking ....
कहां,
- बाइंड-एड्रेस :आबद्ध करने के लिए आईपी पता।
- स्किप-नेटवर्किंग :टीसीपी/आईपी कनेक्शन बिल्कुल न सुनें। Mysqld के साथ सभी इंटरैक्शन यूनिक्स सॉकेट्स के माध्यम से किए जाने चाहिए। यह विकल्प उन प्रणालियों के लिए अत्यधिक अनुशंसित है जहां केवल स्थानीय अनुरोधों की अनुमति है। चूंकि आपको दूरस्थ कनेक्शन की अनुमति देने की आवश्यकता है, इसलिए इस लाइन को my.cnf से हटा दिया जाना चाहिए या टिप्पणी की जानी चाहिए।
चरण 4:फ़ाइल को सहेजें और बंद करें
डेबियन / उबंटू लिनक्स पर, mysql सर्वर को पुनः आरंभ करने के लिए निम्न कमांड टाइप करें:
# /etc/init.d/mysql restart
RHEL / CentOS / Fedora / वैज्ञानिक लिनक्स पर, mysql सर्वर को पुनरारंभ करने के लिए निम्न कमांड टाइप करें:
# /etc/init.d/mysqld restart
विंडोज़ पर, प्रशासक के रूप में कमांड प्रॉम्प्ट खोलें और टाइप करें
net stop MySQL net start MySQL
चरण 5:दूरस्थ IP पते तक पहुंच प्रदान करें
नए डेटाबेस तक पहुंच प्रदान करें
यदि आप यूजर बार और रिमोट आईपी के लिए फू नामक एक नया डेटाबेस जोड़ना चाहते हैं तो आपको mysql प्रॉम्प्ट पर निम्न कमांड टाइप करने की आवश्यकता है:
mysql> CREATE DATABASE foo; mysql> GRANT ALL ON foo.* TO bar@'162.72.20.23' IDENTIFIED BY 'PASSWORD';
मौजूदा डेटाबेस तक पहुंच प्रदान करें
आइए मान लें कि आप उपयोगकर्ता वेबएडमिन के लिए वेबडीबी नामक डेटाबेस से 162.72.20.23 नामक रिमोट आईपी से हमेशा कनेक्शन बना रहे हैं। मौजूदा डेटाबेस के लिए इस आईपी पते तक पहुंच प्रदान करने के लिए mysql प्रॉम्प्ट पर निम्न कमांड टाइप करें:
mysql> update db set Host='162.72.20.23' where Db='webdb'; mysql> update user set Host='162.72.20.23' where user='webadmin';
चरण 6:MySQL का लॉगआउट
mysql से लॉगआउट करने के लिए एग्जिट कमांड टाइप करें:
mysql> exit
चरण 7:पोर्ट 3306 खोलें
Linux iptables फ़ायरवॉल खोलने के लिए नमूना iptables नियम
/sbin/iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT
या केवल 162.72.20.23 पर स्थित अपने वेब सर्वर से दूरस्थ कनेक्शन की अनुमति दें:
/sbin/iptables -A INPUT -i eth0 -s 162.72.20.23 -p tcp --destination-port 3306 -j ACCEPT
या केवल अपने लैन सबनेट से रिमोट कनेक्शन की अनुमति दें 192.168.1.0/24:
/sbin/iptables -A INPUT -i eth0 -s 192.168.1.0/24 -p tcp --destination-port 3306 -j ACCEPT
अंत में सभी नियमों को सहेजें (RHEL / CentOS विशिष्ट कमांड):
# service iptables save
विंडोज़ पर, कंट्रोल पैनल> विंडोज फ़ायरवॉल> पोर्ट 3306 के लिए इनबाउंड नियम जोड़ें पर जाएं
चरण 8:MySQL डेटाबेस के लिए रिमोट एक्सेस का परीक्षण करें
अपने रिमोट सिस्टम या अपने डेस्कटॉप से निम्न कमांड टाइप करें:
$ mysql -u webadmin –h 173.234.21.12 –p
विंडोज़ पर, MySQL कमांड-लाइन प्रोग्राम चलाएँ, और MySQL रूट फोल्डर (जैसे Program Files\MySQL\MySQL Server 5.5\bin) से निम्न कमांड टाइप करके एक एडमिनिस्ट्रेटर के रूप में लॉग इन करें:
C:\Program Files\MySQL\MySQL Server 5.5\bin>mysql -u webadmin –h 173.234.21.12 –p
कहाँ,