2017-11-14 49 views
5

मैं mysqldbcompare उपकरण का उपयोग करने की कोशिश कर रहा हूँ, लेकिन एक कनेक्शन त्रुटि हो रही है:mysqldbcompare पहुँच से मना लेकिन mysql आदेश काम करता है

$ mysqldbcompare --server1=client --skip-data-check db1:db2 
# server1 on <ip>: ... 
ERROR: Access denied for user 'root'@'<ip>' (using password: YES) 

मैं mysql का उपयोग करें और ठीक से कनेक्ट है, हालांकि कर सकते हैं। मैंने mysql_config_editor --host=<ip> --user=root --port=3306 --password का उपयोग करके अपने क्रेडिट सेट किए हैं और सभी तर्कों (mysql -u root -p -h <ip> -P 3306) को पास किए बिना mysql कमांड के साथ परीक्षण किया है।

मैंने सर्वर के बाध्य पते की जांच की है और सर्वर त्रुटि लॉग में देखा है, लेकिन यह सिर्फ एक कनेक्शन से इनकार कर दिया गया संदेश दोहराता है। मैंने ऑनलाइन खोज की है (और एसओ पर) लेकिन कुछ भी नहीं मिला है।

किसी भी मदद की सराहना की जाती है।

उत्तर

0

मुझे लगता है कि mysql की यह कमांड डिफ़ॉल्ट कॉन्फ़िगरेशन का उपयोग नहीं करती है, तो उपयोगकर्ता और पासवर्ड को कमांड लाइन में मजबूर करने का प्रयास करें।

0

आप एक पहुँच से मना कर त्रुटि इसका मतलब है TCP कनेक्शन स्थापित किया गया है, लेकिन पासवर्ड आपके द्वारा दी गई 'User'@'Host' (एक उपयोगकर्ता-होस्ट जोड़ी के लिए गलत है MySQL प्रमाणीकरण, एक भी के लिए एक असली खाते है का सामना करना पड़ा जब उपयोगकर्ता नाम)।

मान लें कि MySQL सर्वर 172.0.0.8 पर चलता है और आपका स्थानीय पता 172.0.0.5 है।

  1. mysql.user पर SELECT * FROM mysql.user\G; पर एक नज़र डालें। यदि आप इन दो उपयोगकर्ता-होस्ट जोड़े में से कोई भी नहीं पा रहे हैं: 'root'@'172.0.0.5' और 'root'@'%', इसका मतलब है कि ऐसा कोई खाता नहीं है। तो आप असफल हो गए।
  2. उपरोक्त आउटपुट से मौजूद उपयोगकर्ता-होस्ट जोड़ी का पासवर्ड भी देखें।
  3. अब, कनेक्शन ठीक है, खाता मौजूद है, पासवर्ड सही है, ऐसी त्रुटि का एकमात्र मौका यह है: mysqldbcompare ने आपके द्वारा प्रदत्त तर्कों का उपयोग नहीं किया है!
  4. जैसे अन्य वैकल्पिक हल का प्रयास करें: कदम से mysqldbcompare --server1=root:[email protected]:3306 --skip-data-check db1:db2

चेक इन सभी सामान कदम है, और आप यह पता लगा होगा।

संबंधित मुद्दे