Sun, 17 Jan 2016 00:27:16 +0200, yaşar tunçez <[email protected]> :
> [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
[email protected]
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