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

MySQL कनेक्शन काम नहीं कर रहा

यहाँ MySQL के लिए दूरस्थ कनेक्शन को सक्षम करने के लिए एक त्वरित त्वरित चेकलिस्ट है, लेकिन पहले (6) पढ़ें। अगर मुझसे कुछ छूट गया है, तो बेझिझक संपादित करें।

1) आपका दूरस्थ उपयोगकर्ता एक ऐसे खाते से जुड़ रहा है जो उपयुक्त उपयोगकर्ता, होस्ट . के साथ बनाया गया था प्रविष्टियां ( से आउटपुट देखें उपयोगकर्ता का चयन करें, mysql.user ऑर्डर से होस्ट करें 1,2 द्वारा ) यदि नहीं, तो CREATE USER और/या GRANT आदेश। SHOW GRANTS से आउटपुट की जांच करें उपयोगकर्ता के लिए।

2) आपने फ्लश विशेषाधिकार; कर लिया है (कुछ कहते हैं कि यह अनावश्यक है, अन्य कहते हैं कि यह है)।

3a) यह दस्तावेज़ (या विंडोज़ के लिए, C:\ProgramData\MySQL\MySQL Server 5.NNN के नीचे होने की संभावना है। पथ)। यह Linux के लिए डिस्ट्रो के अनुसार बदलता रहता है।

3बी) आपने my.ini . को संशोधित और सहेज लिया है (विंडोज़) या my.cnf (लिनक्स) और परिवर्तित बाइंड-एड्रेस 127.0.0.1 . से दूर या लोकलहोस्ट , 0.0.0.0 . के पक्ष में . और आपने और . बनाया है निम्नलिखित पंक्ति को हटा दिया:#स्किप-नेटवर्किंग . यह कुछ इस तरह दिखेगा:

[mysqld]
bind-address=0.0.0.0
#skip-networking

4) mysql डेमॉन को पुनरारंभ करें। यह कैसे डिस्ट्रो द्वारा भिन्न होता है।

5) फ़ायरवॉल मुद्दे। सुनिश्चित करें कि पोर्ट, डिफ़ॉल्ट रूप से 3306 है , बाहरी दुनिया के लिए खुला है (जो वास्तव में सिर्फ आपका इंट्रानेट हो सकता है)। इसमें फायरवॉल की अन्य परतें शामिल हैं, जैसे AWS EC2 सुरक्षा समूह, या समान, यदि कोई हो।

6) समझें कि इससे जुड़ा एक सुरक्षा जोखिम है। जब तक आपको अपने mysql सर्वर को दूरस्थ कनेक्शन में उजागर करने का ज्ञान न हो, तब तक ऐसा न करें।

7) कृपया चुनें . के साथ बारंबार सुरक्षा आकलन चलाएँ अनुदान दिखाएं . की समीक्षा सहित ऊपर 1. में सूचीबद्ध विवरण उन उपयोगकर्ताओं के लिए। वाइल्डकार्ड वाले उपयोगकर्ताओं को अनावश्यक रूप से अधिक अनुदान न दें। इसके बजाय, उपयोगकर्ताओं को अपना काम पूरा करने के लिए न्यूनतम विशेषाधिकार दें।

8) सामान्य लॉग और त्रुटि लॉग के माध्यम से असफल कनेक्शन प्रयासों की अक्सर जांच करें, जैसा कि नीचे संक्षेप में प्रस्तुत किया गया है।

इनबाउंड के लिए, आप सामान्य क्वेरी लॉग देख सकते हैं।

select @@general_log; -- a 1 indicates it is turned on for capture
select @@general_log_file; -- the file that it logs to

तो सभी प्रश्न हो सकते हैं सामान्य क्वेरी लॉग में लॉग इन किया अगर सेटिंग चालू है। "कनेक्ट" के लिए लॉग की जांच करें, लेकिन विशेष रूप से उपयोगकर्ता के लिए प्रवेश निषेध . के लिए असफल प्रयासों को देखने के लिए। इसे नियमित रूप से करें (हर कुछ वर्षों में नहीं)। मैं इसे दिन में कम से कम दो बार करता हूं। ध्यान दें, आप स्पष्ट रूप से बाहरी कार्यक्रम के माध्यम से रिपोर्टिंग को स्वचालित कर सकते हैं। बाहरी दुनिया पाउंड . जा रही है आपका सर्वर नीचे दी गई छवि की तरह प्राप्त करने के लिए। यह एक वास्तविकता है; इसके लिए खुद को तैयार करें।

त्रुटि लॉग के लिए मैनुअल पेज देखें। साथ ही, आपके संस्करण के आधार पर चेतावनी के स्तर, और शब्दशः सेटिंग को नोट करना।

मैं अनुशंसा करता हूं कि कोई व्यक्ति तिथि के अनुसार एक बैकअप प्रतिलिपि बनाएं (इस तरह नामित) और बैकअप के बाद लॉग फ़ाइलों को हटा दें बैकअप के बाद नए सिरे से शुरू करने के लिए। लॉग फाइलें तेजी से आकार में बड़ी हो सकती हैं, खासकर सामान्य लॉग। यह न भूलें कि आपने लॉगिंग के लिए सेटिंग चालू या बंद की है या नहीं।

आप दो लॉग का उपयोग यह निर्धारित करने के लिए कर सकते हैं कि क्या आपके कनेक्शन प्रयास ने इसे यहां दिए चरणों के दौरान फ़ायरवॉल से आगे बढ़ाया है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं XAMPP में MariaDB को MySQL में कैसे बदल सकता हूँ?

  2. एसक्यूएल:मैं किसी फ़ील्ड द्वारा ऑर्डर कैसे करूं यदि यह शून्य नहीं है तो किसी अन्य फ़ील्ड का उपयोग करें

  3. MySQL के लिए एस्केप स्ट्रिंग पायथन

  4. MySQL:एक से अधिक घटनाओं वाली पंक्तियों का चयन करें

  5. SQL_CALC_FOUND_ROWS / FOUND_ROWS () PHP में काम नहीं करता है