2017-11-14 150 views
5

çalışır:mysqldbcompare erişim engellendi ama mysql komut ben <code>mysqldbcompare</code> aracını kullanmaya çalışıyorum ancak bağlantı hatası alıyorum

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

Ben mysql kullanıp olsa gayet güzel bağlayabilirsiniz. Kredilerimi mysql_config_editor --host=<ip> --user=root --port=3306 --password kullanarak kurdum ve mysql komutuyla tüm argsleri (mysql -u root -p -h <ip> -P 3306) geçirmeden ve geçmeden test ettim.

Sunucunun bağlantı adresini kontrol ettim ve sunucu hata kayıtlarını inceledim ancak bağlantı reddedilen iletiyi tekrarlıyor. İnternette (ve SO) aradım ama hiçbir şey bulamadım.

Herhangi bir yardım için teşekkür ederiz.

cevap

0

Sanırım bu mysql komutu, varsayılan yapılandırmayı kullanmıyorsa, kullanıcı ve parolayı komut satırına zorlamaya çalışın.

0

bunu sağladığınız şifre 'User'@'Host' (User-Sunucu çifti için yanlış TCP bağlantısı kurulduktan fakat MySQL kimlik doğrulaması değil, tek bir gerçek hesap demektir bir erişim engellendi hata ile karşılaştı zaman Kullanıcı adı).

MySQL sunucusunun 172.0.0.8 üzerinde çalıştığını ve yerel adresinizin 172.0.0.5 olduğunu varsayalım.

  1. mysql.user'a bakın: SELECT * FROM mysql.user\G;. Bu iki Kullanıcı Ana Bilgisayar çiftinden birini bulamıyorsanız: 'root'@'172.0.0.5' ve 'root'@'%', böyle bir hesap olmadığı anlamına gelir. Yani başarısız oldun.
  2. Ayrıca, mevcut Kullanıcı-Ana Bilgisayar çiftinin şifresini yukarıdaki çıkıştan kontrol edin.
  3. Şimdi, bağlantı var, hesap var, şifre doğru, böyle bir hatanın tek şansı: mysqldbcompare sağladığınız argümanları kullanmadı!
  4. gibi diğer geçici çözümü deneyin: adım mysqldbcompare --server1=root:[email protected]:3306 --skip-data-check db1:db2

Kontrol bütün bu şeyler adımı ve bunu anlamaya olacaktır.

İlgili konular