Uzak bağlantıları kabul etmek için bir MySql sunucusu nasıl kurulur?


16

Ubuntu masaüstüne bir MySql sunucusu yüklüyorum. Server HostnameAs belirlerken MySql Sorgu Tarayıcısını bağlayabilirim localhost, ancak makinenin IP'si ile değiştirdiğimde çalışmayı durdurur (MySql Sorgu Tarayıcısı aynı makinede çalışıyor olsa bile).

Şimdiye kadar yaptığım tek şey iptables kaldırmak, ama onunla hiçbir ilgisi yok gibi görünüyor.

İşte hata mesajı

'192.168.0.2' ana bilgisayarına bağlanılamadı.

MySQL Hatası No. 2003

'192.168.0.2' adresinden MySQL sunucusuna bağlanılamıyor (111)

Bir ağ sorunu olup olmadığını görmek için 'Ping' düğmesini tıklayın.

Ping tamam, yine de

Yanıtlar:


22

MySQL'inizi 127.0.0.1'den farklı bir IP'ye bağlamanız gerekir.

My.cnf (genellikle /etc/mysql/my.cnf) dosyasını açın ve yazan satırı değiştirin

bind = 127.0.0.1

makinenizin dış dünyaya bağlanmak için kullandığı IP'ye. 0.0.0.0tüm IP adreslerine bağlanır. Bu değişiklikten sonra MySQL'inizi yeniden başlatmayı unutmayın.


farklı bir hata aldım: '192.168.0.2' ana bilgisayarına bağlanılamadı. MySQL Hatası No. 1130 'whatever-vubuntu.local' sunucusunun bu MySQL sunucusuna bağlanmasına izin verilmiyor
Jader Dias

user @ localhost ve user @ <hostname> farklıdır. Uzak ana bilgisayarlardan bağlanabilmek için kullanıcıyı eklemeniz gerekir.
James

Sorun bu değil. Bunu yaptım ve hala hatayı alıyorum.
Cerin

Olmalı mı bind-address?
Thomas Weller


2

Burada birkaç potansiyel sorun daha açıklanmıştır:

http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html http://dev.mysql.com/doc/refman/5.1/en /access-denied.html

Tüm veritabanlarına tüm ayrıcalıkları vermek istiyorsanız, şunu deneyin:

grant all on *.* to 'joe'@'%';

Ancak, bunu yapmadan önce, "mysql" veritabanında IP adresinize "Ana Bilgisayar" ayarlanmış bir kullanıcı olduğundan emin olun - benim durumumda evde IP adresim. Bu nedenle "joe" kullanıcısının birden fazla kaydı olabilir, her IP için bir tane olabilir. Orada zaten ne olduğunu görmek için:

use mysql;
select Host, User, Password from user where user='joe';`

Benim durumumda, benim kullanıcı şimdi doğru IP vardı ama şifre de eksik olduğu ortaya çıktı. Parolayı yapıştırdım (karma veya başka bir şey) ve bu benim özel uzaktan bağlantı sorunumu çözdü:

update user set Password='5493845039485' where user='joe';

Bir şey daha var, my.cnf dosyasında "port = 3306" ya da kullanmayı planladığınız herhangi bir portu ayarlamak isteyebilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.