Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL डेटाबेस के लिए दूरस्थ पहुँच सक्षम करें

सुरक्षा कारणों से आमतौर पर 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

कहाँ,

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक MySQL तालिका को दूसरे के मानों के साथ अपडेट करें

  2. MySQL क्वेरी में UNION और LIMIT संचालन का संयोजन

  3. MySQL - एक कॉलम का चयन करना जो ग्रुप बाय में नहीं है

  4. मैं MySQL में FULL OUTER JOIN कैसे कर सकता हूँ?

  5. मौजूदा तालिका में विदेशी कुंजी जोड़ें