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

रिमोट कनेक्शन मैसकल उबंटू

लोकलहोस्ट के अलावा किसी अन्य चीज़ के लिए MySQL को बेनकाब करने के लिए आपके पास निम्न पंक्ति होनी चाहिए

mysql संस्करण 5.6 और नीचे के लिए

/etc/mysql/my.cnf में टिप्पणी नहीं की गई है और आपके कंप्यूटर के आईपी पते को सौंपा गया है न कि लूपबैक को

mysql संस्करण 5.7 और इसके बाद के संस्करण के लिए

/etc/mysql/mysql.conf.d/mysqld.cnf में असम्बद्ध और आपके कंप्यूटर के आईपी पते को सौंपा गया है न कि लूपबैक को

#Replace xxx with your IP Address 
bind-address        = xxx.xxx.xxx.xxx

या bind-address = 0.0.0.0 जोड़ें यदि आप IP निर्दिष्ट नहीं करना चाहते हैं

फिर नई my.cnf प्रविष्टि के साथ MySQL को रोकें और पुनः आरंभ करें। एक बार दौड़ने के बाद टर्मिनल पर जाएँ और निम्न कमांड दर्ज करें।

lsof -i -P | grep :3306

यह xxx में आपके वास्तविक आईपी के साथ कुछ इस तरह वापस आना चाहिए

mysqld  1046  mysql  10u  IPv4  5203  0t0  TCP  xxx.xxx.xxx.xxx:3306 (LISTEN)

यदि उपरोक्त कथन सही ढंग से वापस आता है तो आप दूरस्थ उपयोगकर्ताओं को स्वीकार करने में सक्षम होंगे। हालांकि एक दूरस्थ उपयोगकर्ता के लिए सही विशेषाधिकार से जुड़ने के लिए आपको उस उपयोगकर्ता को स्थानीयहोस्ट और '%' दोनों में बनाया जाना चाहिए।

CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass';
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';

फिर,

GRANT ALL ON *.* TO 'myuser'@'localhost';
GRANT ALL ON *.* TO 'myuser'@'%';

और अंत में,

FLUSH PRIVILEGES; 
EXIT;

यदि आपके पास उपरोक्त के समान उपयोगकर्ता नहीं है, तो जब आप स्थानीय रूप से लॉगऑन करते हैं तो आप आधार स्थानीयहोस्ट विशेषाधिकारों को प्राप्त कर सकते हैं और पहुंच के मुद्दे हो सकते हैं। यदि आप myuser के एक्सेस को प्रतिबंधित करना चाहते हैं तो आपको GRANT स्टेटमेंट सिंटैक्स यहां यदि आप इस सब से गुजरते हैं और अभी भी कुछ अतिरिक्त त्रुटि आउटपुट और my.cnf उपयुक्त पंक्तियों को पोस्ट करने में समस्याएँ हैं।

नोट:यदि lsof वापस नहीं आता है या नहीं मिलता है तो आप इसे यहां इंस्टॉल कर सकते हैं। आपके लिनक्स वितरण के आधार पर। चीजों को काम करने के लिए आपको lsof की आवश्यकता नहीं है, लेकिन जब चीजें अपेक्षित रूप से काम नहीं कर रही हों तो यह बेहद आसान है।

अद्यतन:यदि bind-address जोड़ने/बदलने के बाद भी my.cnf . में काम नहीं किया, तो जाओ और इसे उस स्थान पर बदलें जहां इसे मूल रूप से घोषित किया गया था:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मुझे GUID को MySQL तालिकाओं में कैसे संग्रहीत करना चाहिए?

  2. Ubuntu 10.10 (Maverick) पर phpMyAdmin के साथ MySQL प्रबंधित करें

  3. मैं अपने कोड को और अधिक सुरक्षित बनाने के लिए पीडीओ के साथ पासवर्ड हैशिंग का उपयोग कैसे करूं?

  4. क्लाउड में अपने डेटाबेस क्लस्टर तक सुरक्षित पहुंच के लिए OpenVPN का उपयोग करना

  5. जॉइन फील्ड में अल्पविराम से अलग-अलग सूची का उपयोग करके दो तालिकाओं में कैसे शामिल हों