Sun, 17 Jan 2016 00:27:16 +0200, yaşar tunçez <ytun...@gmail.com> :

> [mysqld]
> socket=/data/mysql/mysql.sock
...
> Ancak (sunucunun kendi konsolunda);
> mysql -uroot -p
> Enter password:
> ERROR 2002 (HY000): Can't connect to local MySQL server through socket
> '/var/lib/mysql/mysql.sock' (2)
> şeklinde hata mesajı alıyorum.
> Ancak komutu ;
> mysql -uroot -p --protocol tcp
> şeklinde çalıştırdığımda sorunsuz bağlanıyorum.

MySQL ayar dosyasında, [mysqld] bölümünde MySQL sunucusu ile ilgili
ayarlar tanımlanıyor. Soket ayarını MySQL sunucusu için değiştirmiş
durumdasınız.

mysql komutunu çalıştırdınızda, mysql istemcisini çalıştırıyorsunuz.
İstemci ise bu soket değişikliğinden haberdar değil. O nedenle hala
default yere bağlanmaya çalışıyor. Aynı ayarı istemci sekmesinde de
yapmanız gerekiyor. [client] sekmenin adı. Yoksa da oluşturabilirsiniz.
Böylece istemci yazılımları da (sadece mysql isimli client değil) yeni
soketin yerinden haberdar olup, oraya bağlanacaktır.

tcp protokolünü belirttiğinizde bağlanmasının nedeni, unix soketi
kullanmayıp TCP/IP üzerinden bağlanması. Soketin yerini aranması
gerekmiyor.

Öte yandan, Ömer Barlas'ın önerdiği sembolik bağ ile bağlamak da pratik
bir yöntemdir. MySQL dizinini standart yerinde arayan (ve o ayar
dosyasına bakmayan) uygulamalar ve sistem yöneticileri olabilir. Bir
sembolik bağ, herkesin işini kolaylaştırabilir.

                   Doruk

--
Özgür Yazılım A.Ş. ~ #
http://www.ozguryazilim.com.tr
_______________________________________________
Linux E-Posta Listesi
Linux@liste.linux.org.tr
Liste kurallari: http://liste.linux.org.tr/kurallar.php

Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu listeden gelen 
e-postaları almak istemiyorsanız aşağıdaki bağlantı adresini kullanarak 1 
dakika içinde üyeliğinizi sonlandırabilirsiniz.
https://liste.linux.org.tr/mailman/listinfo/linux

Cevap