2013-09-30 16 views
88

Neden niye mysql'ye bağlanamıyorum? my.cnf olarakERROR 1130 (HY000): Bu MySQL sunucusuna bağlanmak için '' ana bilgisayarına izin verilmiyor

mysql -u root -ptest101 -h xxx.xxx.xxx.xxx 
ERROR 1130 (HY000): Host 'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQL server 

Ben

'UPDATE mysql.user SET Password = PASSWORD('test101') WHERE User = 'root'; 
FLUSH PRIVILEGES; 

ben mysql -u root kullanarak ana makinede erişebilir ...

# Instead of skip-networking the default is now to listen only on 
# localhost which is more compatible and is not less secure. 
bind-address  = 0.0.0.0 

altına ben de aşağıdaki koştum var - ptest101 ancak mysql -u root kullanmayan -ptest101 -h xxx.xxx.xxx.xxx

Wow ... neden bu oluyor? Ben n 12,04

mysql> SELECT host FROM mysql.user WHERE User = 'root'; 
+---------------------------------------------+ 
| host          | 
+---------------------------------------------+ 
| %           | 
| 127.0.0.1         | 
| ::1           | | 
| localhost         | 
+---------------------------------------------+ 
5 rows in set (0.00 sec) 
+0

Mysql hesaplarının sadece kullanıcı adları olmadığını unutmayın. çiftin herhangi birinin joker olabileceği kullanıcı @ host 'çiftleridir. Doğru kullanıcı adını kullanıyor olabilirsiniz, ancak doğru ana bilgisayar ayrıcalıkları verdiniz mi? –

cevap

193

Sizin root hesap ubuntj am ve bu ifade herhangi bir hesap için de geçerlidir, sadece (önerilir) localhost erişimi ile eklenmiş olabilir.

Sen ile kontrol edebilirsiniz: Yalnızca localhost ve 127.0.0.1 sonuçları görürseniz

SELECT host FROM mysql.user WHERE User = 'root'; 

, harici bir kaynaktan bağlanamaz. Diğer IP adreslerini görüyorsanız, ancak bağlandığınız değil - aynı zamanda bir gösterge.

Sen erişim izni vermek istediğiniz her sistemin IP adresi eklemek gerekir ve daha sonra yetkileri vermek olacaktır:

CREATE USER 'root'@'ip_address' IDENTIFIED BY 'some_pass'; 
GRANT ALL PRIVILEGES ON *.* TO 'root'@'ip_address'; 

Eğer % görürseniz, iyi o zaman, tamamen yani başka problem var "herhangi bir uzak kaynak".

FLUSH PRIVILEGES; 
: Uzaktan erişim için izinleri yeniden, Nihayet

CREATE USER 'root'@'%' IDENTIFIED BY 'some_pass'; 
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'; 

ve mümkün olmalıdır: Herhangi istiyorsun ancak/tüm sistemler köküne üzerinden bağlanmak için ise erişim vermek % joker kullanmak

+0

Önerilmiş olanı yaptım. Yukarıdaki outuo bakın. Hala aynı hatayı alıyorum. Bağlanamıyorum. – Tampa

+5

Bu yayın http://bucktownbell.com/?p=653 – Tampa

+2

adresinde çalıştı. Bu sql deyimi "GRANT ALL PRIVILEGES ON *. * TO 'root' @ '%'" need a ";" Bundan sonra .... –

-4

PhpMyAdmin'e gidin, istediğiniz veri tabanına tıklayın, Privilages sekmesine gidip yeni bir kullanıcı "uzak" yaratın ve ona tüm ön ayrıcalıkları verin ve "Herhangi bir ana bilgisayar" seçeneği (%). iki adım takip

12

benim için mükemmel iyi çalıştı:

  1. Comment dışarı bağlama adresini dosyasından /etc/mysql/my.cnf den: phpMyAdmin'de

    #bind-address = 127.0.0.1

  2. çalıştırın aşağıdaki sorguda:

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'; FLUSH PRIVILEGES;

+6

+ 'sudo service mysql restart' – sromku

1

mysql> CREATE USER 'name' @ '%' 'passWord' IDENTIFIED; Sorgu Tamam, 0 satır etkilendi (0.00 sn)

mysql>ÜZERİNDE TÜM İHTİYAÇLAR HAZIR. TO 'name' @ '%'; Sorgu tamam, 0 satır etkilenen (0,00 sn)

mysql> FLUSH PRIVILEGES; Sorgu OK, 0 rows etkilenen (0.00 sn)

mysql>

  1. Eğer yuvarlak
  2. herhangi bir güvenlik duvarı için port 3306 ekledik emin yapar adınızı ve% doğru yolu olduğundan emin olun Bu kimse yardımcı

umut (bu farklı bir hata mesajı verecektir rağmen) Eğer ... çalışıyor olabilir

-8

dosyalarla C:\xampp\mysql\data\mysql

:

sadece klasörde dosyaları değiştirmek bu hatayı düzeltmek için kolay bir yol var cpanel erişmek mümkün olanlar için C:\xampp\mysql\backup\mysql

7
$mysql -u root --host=127.0.0.1 -p 

mysql>use mysql 

mysql>GRANT ALL ON *.* to [email protected]'%' IDENTIFIED BY '[email protected]'; 

mysql>FLUSH PRIVILEGES; 

mysql> SELECT host FROM mysql.user WHERE User = 'root'; 
-1

vardır bir etrafında almak daha basit bir yol. VERİTABANLARINI bölümünde cpanel => "Uzak MySQL" in

  1. günlüğü:

  2. Eğer

  3. yapılır dan erişen IP'ler/ana makine adı ekle !!!

İlgili konular