[Çözüldü] Mysql - Mysqld.sock Hatası

Başlatan eguven, 16 Ağustos 2009 - 20:08:49

« önceki - sonraki »

0 Üyeler ve 3 Ziyaretçi konuyu incelemekte.

eguven

Alıntı Yapeguven@eguven-desktop:~$ sudo mysql -u root -p

Komutunu verdiğimde, şu hatayı alıyorum:

Alıntı YapEnter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)

Parolamı yazdığım halde, hatayı veriyor. Doğru oldugundan eminim :S Yardımcı olursanız çok sevinirim çünkü çok önemli birşeyi yetiştirmem söz konusu

Teşşekkürler...

Yiğit Ateş

mysql-server paketi kurulu mu?

eguven

Evet kurdum mysql-server client bunun dısında xampp kurulu :S

Yiğit Ateş

Sunucu adresi olarak localhost 127.0.0.1 kullanıyorsan kendi ip adresinle değiştirip dener misin?

eguven

Nasıl yapabileceğimide yazabilirmisin :(

Yiğit Ateş

mysqladmin'de bununla ilgili bir bölüm vardı yanlış hatırlamıyorsam kullanmayalı baya oldu da tam hatırlayamadım şimdi.

eguven

mysqladmine ulasamıyorumki :S:( hata veriyor

Alıntı YapCould not connect to host 'localhost'.
MySQL Error Nr. 2002
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Click the 'Ping' button to see if there is a networking problem.

Yiğit Ateş

/etc/mysql/my.cnf dosyasının içinde bind-address = 127.0.0.1 şeklinde bir satır olacak o satırı # işaretiyle etkisizleştirdikten sonra mysql'i tekrar çalıştırmayı dene bir de bakalım olmazsa aklıma başka bir yolda gelmiyor maalesef:(

eguven

denedim ama olmuyor :'( :(
/var/run/mysqld/mysqld.sock dosyasındamı bişi var acaba içiriğide boş :S :(


Yiğit Ateş

Biraz araştırdım şimdi senin sorun baya ünlüymüş ama çözümü konusunda her kafadan bir ses çıkıyor en az 30-40 tane çözüm önerisi var birinciden başla istersen denemeye :D
http://forums.mysql.com/read.php?11,9689,9689#msg-9689

eguven

#10
Teşekkür ederim, öncelik ile google translate ile bir çeviri yapayım =) Eğer olumlu bir sonuca varırsam buraya nasıl yaptıgımı yazacagım :) Tekrar takılan olmasın diye teşekkürler bu arada :)


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 16 Ağustos 2009 - 11:34:19

Birçoğunu denedim ama başaramadım :(

http://forums.mysql.com/read.php?11,9689,133722#msg-133722
http://forums.mysql.com/read.php?11,9689,143831#msg-143831

Linklerinde çözüldüğünü iddia ediyorlar ama birşey anlamadım anlayan varsa lütfen yardımcı olabilirmi :( :( :(


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 17 Ağustos 2009 - 00:09:46

Sonunda çözdüm zor ve uğraşlı olmasına rağmen :) Yararlı olması için söylemek gereği duydum. Tüm dosyalara izin vermek gerekiyormus arkadaslar "/etc/mysql" gibi :D samurai  arkadaşıma teşekkür ediyorum beni yalnız bırakmadı ama bir sorum olcak phpmyadmin paketini kurdum ama "localhost/phpmyadmin" yazınca gelmiyor ... Teşkkürler :D

Ertan ERBEK

/etc/hosts dosyanda 127.0.0.1 ip adresinin localhost olarak tanımlanması lazım.


master:/home/e-diablo# cat /etc/hosts
127.0.0.1       localhost
192.168.1.254   master

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts


Birde dpkg -l | grep mysql çıktısının alttaki gibi olması lazım,


master:/home/e-diablo# dpkg -l | grep mysql
ii  libdbd-mysql-perl                   4.007-1                       A Perl5 database interface to the MySQL database
ii  libmysqlclient15off                 5.0.51a-24+lenny1             MySQL database client library
ii  mysql-client-5.0                    5.0.51a-24+lenny1             MySQL database client binaries
ii  mysql-common                        5.0.51a-24+lenny1             MySQL database common files
ii  mysql-server                        5.0.51a-24+lenny1             MySQL database server (metapackage depending on the latest ver
ii  mysql-server-5.0                    5.0.51a-24+lenny1             MySQL database server binaries
ii  proftpd-mod-mysql                   1.3.1-17lenny2                versatile, virtual-hosting FTP daemon - MySQL module




Bunlar doğru ve çalışmıyor ise kaldırıp tekrar yüklemeyi deniyebilirsin. ( Force ederek yapmak daha mantıklı olacaktır. )
Elbet bir gün bende Linux cuyum diyeceğim.

Başkalarının bilmediği bilgi, bilgi değildir. Bilgini paylaşmak için SUDO ya katkılarını bekliyoruz.

eguven

Herşey için teşekkürler sorunumu çözdüm.

Ertan ERBEK

Peki nasıl çözdün ? Belki ilerde aynı sorundan muzdarip bir arkadaş da bu konuyu okuyup çözüm bulabilir.
Elbet bir gün bende Linux cuyum diyeceğim.

Başkalarının bilmediği bilgi, bilgi değildir. Bilgini paylaşmak için SUDO ya katkılarını bekliyoruz.

eguven

Öncelik ile,
Alıntı Yap/var/run/mysqld/
İzinlerini verdim. Daha sonra mysql'i durdurdum
Alıntı Yap/var/run/mysqld/mysqld.sock
Belgesini Sildim Sildikten Sonra mysql'i başlatıp tekrar durdurduktan sonra
Alıntı Yap/var/run/mysqld/mysqld.sock
belgesini geri koydum ve düzeldi :)

/var/run/mysqld/mysqld.sock Belgesinin yedeğini almayı unutmayın silmeden önce !!!

ugurarslan

Alıntı yapılan: Ertan ERBEK - 17 Ağustos 2009 - 16:19:33
Peki nasıl çözdün ? Belki ilerde aynı sorundan muzdarip bir arkadaş da bu konuyu okuyup çözüm bulabilir.

Aynı sorundan muzdarip birisi olarak, şu anda forumu okuyorum  :)

MySQL 5.5.24 ü kurdum. Fakat MySQL i

sudo /etc/init.d/mysql stop

komutu ile durdurduğumda var/run/mysqld/ içeriği siliniyor.  Bu klasörün içindeki mysqld.pid ve mysqld.sock dosyalarını kopyalamanın bir yolu yok mudur?

Not : var/run/mysql kısmında run klasöründen itibaren sembolik bağ olarak gözüküyor. Acronis True Image ile sistem açılmadan almayı denedim, klasörü bile görmedi  :(
One for all, all for the future...

burk

@ugurarslan genel bilgimle soruyorum, "cp" veya "mv" komutları iş görmüyor mu?

ugurarslan

Hayır maalesef görmüyor. Google i, yabancı forumları alt üst ettim ama, genel bir sorun sanırım  :(
One for all, all for the future...

burk

Peki o komutu uyguladığınızda ne gibi bir çıktı veriyor? Bir de başına sudo koyup deneyin.

heartsmagic

Neden bu dosyaları kopyalamak istiyorsun? Önce oradan başlayalım. Zira malum pid değişecek, senin tam olarak amacın ne yani.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

ugurarslan

#20
Şöyle cevap vereyim. etc/mysql/my.cnf dosyasına kodu ekleyip ilgili yerleri renklendiriyorum :)

#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
[client]
port = 3306
socket [color=red]= /var/run/mysqld/mysqld.sock[/color]

# Here is entries for some specific programs
# The following values assume you have at least 32M ram

# This was formally known as [safe_mysqld]. Both versions are currently parsed.
[mysqld_safe]
socket = [color=red]/var/run/mysqld/mysqld.sock[/color]
nice = 0

[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = [color=red]/var/run/mysqld/mysqld.pid[/color]
socket = [color=red]/var/run/mysqld/mysqld.sock[/color]
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1
#
# * Fine Tuning
#
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size       = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover         = BACKUP
#max_connections        = 100
#table_cache            = 64
#thread_concurrency     = 10
#
# * Query Cache Configuration
#
query_cache_limit = 1M
query_cache_size        = 16M
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
#general_log_file        = /var/log/mysql/mysql.log
#general_log             = 1
#
# Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf.
#
# Here you can see queries with especially long duration
#log_slow_queries = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
#       other settings you may need to change.
#server-id = 1
#log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size         = 100M
#binlog_do_db = include_database_name
#binlog_ignore_db = include_database_name
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem



[mysqldump]
quick
quote-names
max_allowed_packet = 16M

[mysql]
#no-auto-rehash # faster start of mysql but no tab completition

[isamchk]
key_buffer = 16M

#
# * IMPORTANT: Additional settings that can override those from this file!
#   The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/


LAMP için Windows ve Linux'tan ortak kullanım adlı konudaki işlemleri yaparken, dosyaları Windows'un da göreceği şekilde ortak dizine taşıdım. Fakat mysql ve apparmor u yeniden başlattığımda, /var/run/mysqld klasöründeki iki dosya kendiliğinden siliniyor. run kısmından sonrası da klasör özellikleri bakımından farklı sanırım. Kodda göreceğiniz gibi, sunucunun çalışması için bu iki dosyaya ihtiyacım var, ama yedeklenmemesi için sağlam bir güvenlik yapmışlar sanırım.
One for all, all for the future...

heartsmagic

Ortak kullanım için o dosyalara ihtiyacın yok ki. Zaten her sistem kendi dosyalarını oluşturacak mysql için. Yazıya bakacak olursan /var/lib/mysql altındaki verileri yani veritabanlarını taşımaktan bahsediyor. Senin tam olarak yapmaya çalıştığın şey bu değil mi?
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

ugurarslan

Alıntı yapılan: eguven - 17 Ağustos 2009 - 16:32:28
Öncelik ile,
Alıntı Yap/var/run/mysqld/
İzinlerini verdim. Daha sonra mysql'i durdurdum
Alıntı Yap/var/run/mysqld/mysqld.sock
Belgesini Sildim Sildikten Sonra mysql'i başlatıp tekrar durdurduktan sonra
Alıntı Yap/var/run/mysqld/mysqld.sock
belgesini geri koydum ve düzeldi :)

/var/run/mysqld/mysqld.sock Belgesinin yedeğini almayı unutmayın silmeden önce !!!

Dosyalara ihtiyacım şöyle var. Ortak kullanımda Apache, mysql yine ubuntuda çalışıyor, dosyaları windows'dan çekmiyor. Sadece veritabanlarını biz mysql e gösteriyoruz. Yani mysql in stabil çalışması için yukarıdaki alıntıda belirtildiği gibi mysqld.sock dosyasına ihtiyaç var. Çünkü mysql bilgilerini içinde o tutuyor. İşte sorun şu ben klasörü değiştirip yukarıda belirtildiği gibi mysql i durdurduğum an, mysqld.sock dosyası güvenlik nedeniyle silinmiş oluyor. O dosyayı yedekleyip sonra @eguven in belirttiği gibi tekrar aynı yere atmam lazım.

Acronis true image gibi boot programlarıyla ubuntu açılmadan o dosyayı yedeklemeyi denedim ama. run klasöründen itibaren sembolik bağ olarak gözüküyor. Bana oradaki dosyayı kopyalama kodunu yazarsanız, bu sorunun çözüleceğine eminim.
One for all, all for the future...

heartsmagic

@ugurarslan, bu meselelerin uzmanı değilim ancak herkesin söylediği aynı, .sock dosyası ile uğraşma. Zira o dosya normal bir dosya değil, soket dosyası. Düzenlenecek, taşınacak, kopyalanacak bir durumu yok, bu nedenle kopyalayamıyorsun. Bu dosyanın yerini yapılandırma dosyaları ile değiştirebiliyorsun. Sen onu da istemiyorsun sanırım. Benim uzaktan gördüğüm senin yol ve yönteminin yanlış olduğu. Ortak kullanım için bu şekilde uğraşmamalısın, bence.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

ugurarslan

etc/mysql/conf.d içinde debian.cnf ve debian-start adında iki dosya buldum. Burada sanırım bir düzenleme yapıyor o dosyalar için ama tam tercüme edemedim.

debian.cnf
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host     = localhost
user     = debian-sys-maint
password = 2ZupvtC0KSLW6bo8
socket   = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host     = localhost
user     = debian-sys-maint
password = 2ZupvtC0KSLW6bo8
socket   = /var/run/mysqld/mysqld.sock
basedir  = /usr


debian-start
#!/bin/bash
#
# This script is executed by "/etc/init.d/mysql" on every (re)start.
#
# Changes to this file will be preserved when updating the Debian package.
#

source /usr/share/mysql/debian-start.inc.sh

MYSQL="/usr/bin/mysql --defaults-file=/etc/mysql/debian.cnf"
MYADMIN="/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf"
MYUPGRADE="/usr/bin/mysql_upgrade --defaults-extra-file=/etc/mysql/debian.cnf"
MYCHECK="/usr/bin/mysqlcheck --defaults-file=/etc/mysql/debian.cnf"
MYCHECK_SUBJECT="WARNING: mysqlcheck has found corrupt tables"
MYCHECK_PARAMS="--all-databases --fast --silent"
MYCHECK_RCPT="root"

# The following commands should be run when the server is up but in background
# where they do not block the server start and in one shell instance so that
# they run sequentially. They are supposed not to echo anything to stdout.
# If you want to disable the check for crashed tables comment
# "check_for_crashed_tables" out. 
# (There may be no output to stdout inside the background process!)
echo "Checking for tables which need an upgrade, are corrupt or were "
echo "not closed cleanly."
(
  upgrade_system_tables_if_necessary;
  check_root_accounts;
  check_for_crashed_tables;
) >&2 &

exit 0
One for all, all for the future...