MySql lässt sich nicht mehr starten

wettersat

New Member
Hi

Schon viel gelesen in diesem Forum aber leider nichts passendes für mein Problem gefunden (auch nicht im Internet). Ich/wir haben seit 4 Wochen einen Rootserver auf dem bereits mysql, Apache ... vorinstalliert war. Wir haben unsere webseiten, forum dazugehängt und so ist der Server problemlos gelaufen. Die letzte Änderung meinerseits war am 5.Jänner und seit gestern Nachmittag sind die Homepage, Forum nicht mehr erreichbar (alles unter /var/www/html). Nur webmin funktioniert und hier habe ich gesehen daß Mysql nicht mehr lauft und sich nicht mehr starten lässt.

Auszug aus dem mysql log file: um 6 Uhr hat es noch funktioniert um 17 Uhr nicht mehr
------------------------------
100109 06:01:30 mysqld started
100109 6:01:30 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
100109 6:01:30 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
100109 6:01:30 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.0.77' socket: '/var/lib/mysql/mysql.sock' port: 3306 Source distribution
100112 17:17:47 [Note] /usr/libexec/mysqld: Normal shutdown

100112 17:17:47 [Note] /usr/libexec/mysqld: Shutdown complete


Number of processes running now: 0
100112 17:17:47 mysqld restarted
100112 17:17:47 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
100112 17:17:47 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
100112 17:17:47 [ERROR] Can't start server : Bind on unix socket: Permission denied
100112 17:17:47 [ERROR] Do you already have another mysqld server running on socket: /var/lib/mysql/mysql.sock ?
100112 17:17:47 [ERROR] Aborting

100112 17:17:47 [Note] /usr/libexec/mysqld: Shutdown complete

100112 17:17:47 mysqld ended

--------------------------------

bereits kontrolliert:
- Ordnerrechte passen (haben parallel noch den alten Server und hier ist selbige Einstellung)
- my.conf wieder retourgestellt auf Original da ich die RAM Anpassung vor einer Woche durchgeführt hatte
- Festplatte ist nicht voll
- Serverneustart
- ich habe auch keine anderen mysqld Prozesse gefunden

Muss auch noch erwähnen daß ich kein Linux Server Genie bin.
Habt ihr noch Ideen was ich probieren kann?

Update:
Centos 5.4
MySql 5.0.77

lg
Gerald
 
Last edited by a moderator:
Der Fehler wird Dir doch recht klar präsentiert. Eine Abhilfe-Erklärung wird bereits mitgeliefert:
100112 17:17:47 [ERROR] Can't start server : Bind on unix socket: Permission denied
100112 17:17:47 [ERROR] Do you already have another mysqld server running on socket: /var/lib/mysql/mysql.sock ?
Wahrscheinlich hat sich der alte MySQL-Prozess nicht vollständig beendet. Schau halt mal in die Prozessliste oder überprüfe mit netstat oder lsof wer noch an dem Socket hängt.


option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
Über diesen Konfigurationsfehler solltest Du Dir mal Gedanken machen!

huschi.
 
Code:
> netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State      
tcp        0      0 localhost.localdomain:ndmp  85-127-233-204.dynami:50582 TIME_WAIT   
tcp        0      0 localhost.localdomain:ndmp  85-127-233-204.dynami:50581 TIME_WAIT   
tcp        0   1200 localhost.localdomain:ndmp  85-127-233-204.dynami:50592 ESTABLISHED 
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags       Type       State         I-Node Path
unix  2      [ ]         DGRAM                    1628   @/org/kernel/udev/udevd
unix  14     [ ]         DGRAM                    5254   /dev/log
unix  2      [ ]         DGRAM                    10715  
unix  3      [ ]         STREAM     CONNECTED     9345   /var/run/dovecot/login/default
unix  3      [ ]         STREAM     CONNECTED     9344   
unix  3      [ ]         STREAM     CONNECTED     9338   
unix  3      [ ]         STREAM     CONNECTED     9337   
unix  3      [ ]         STREAM     CONNECTED     9322   /var/run/dovecot/login/default
unix  3      [ ]         STREAM     CONNECTED     9321   
unix  3      [ ]         STREAM     CONNECTED     9315   
unix  3      [ ]         STREAM     CONNECTED     9314   
unix  2      [ ]         DGRAM                    8247   
unix  2      [ ]         DGRAM                    8236   
unix  2      [ ]         DGRAM                    7872   
unix  2      [ ]         DGRAM                    7777   
unix  2      [ ]         DGRAM                    7351   
unix  2      [ ]         DGRAM                    7312   
unix  2      [ ]         DGRAM                    7254   
unix  3      [ ]         STREAM     CONNECTED     7205   /var/run/dovecot/login/default
unix  3      [ ]         STREAM     CONNECTED     7204   /var/run/dovecot/login/default
unix  3      [ ]         STREAM     CONNECTED     7203   
unix  3      [ ]         STREAM     CONNECTED     7202   
unix  3      [ ]         STREAM     CONNECTED     7175   /var/run/dovecot/login/default
unix  3      [ ]         STREAM     CONNECTED     7174   /var/run/dovecot/login/default
unix  3      [ ]         STREAM     CONNECTED     7173   
unix  3      [ ]         STREAM     CONNECTED     7172   
unix  3      [ ]         STREAM     CONNECTED     7157   
unix  3      [ ]         STREAM     CONNECTED     7156   
unix  3      [ ]         STREAM     CONNECTED     7154   
unix  3      [ ]         STREAM     CONNECTED     7153   
unix  3      [ ]         STREAM     CONNECTED     7151   
unix  3      [ ]         STREAM     CONNECTED     7150   
unix  3      [ ]         STREAM     CONNECTED     7145   
unix  3      [ ]         STREAM     CONNECTED     7144   
unix  3      [ ]         STREAM     CONNECTED     7078   
unix  3      [ ]         STREAM     CONNECTED     7077   
unix  2      [ ]         DGRAM                    6769   
unix  3      [ ]         STREAM     CONNECTED     6691   
unix  3      [ ]         STREAM     CONNECTED     6690   
unix  2      [ ]         DGRAM                    6671   
unix  2      [ ]         DGRAM                    5404   
unix  2      [ ]         DGRAM                    5262   
unix  3      [ ]         STREAM     CONNECTED     5193   
unix  3      [ ]         STREAM     CONNECTED     5192

kannst du da etwas erkennen? Für mich sieht alles ok aus.
 
Ein paar Optionen für netstat wären nicht verkehrt ;)

Code:
netstat -antpl

Oder mal die Ausgabe von "lsof" nach dem Socket grepen. Das sollte dir auch die PID verraten, die da noch auf dem Socket läuft.
 
Code:
> netstat -antpl
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:110                 0.0.0.0:*                   LISTEN      2231/dovecot        
tcp        0      0 0.0.0.0:143                 0.0.0.0:*                   LISTEN      2231/dovecot        
tcp        0      0 0.0.0.0:10000               0.0.0.0:*                   LISTEN      2849/perl           
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      2762/httpd          
tcp        0      0 0.0.0.0:81                  0.0.0.0:*                   LISTEN      2699/httpd.admsrv   
tcp        0      0 0.0.0.0:4949                0.0.0.0:*                   LISTEN      2787/munin-node     
tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN      2427/xinetd         
tcp        0      0 81.19.151.127:53            0.0.0.0:*                   LISTEN      1868/named          
tcp        0      0 127.0.0.1:53                0.0.0.0:*                   LISTEN      1868/named          
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      2126/sshd           
tcp        0      0 127.0.0.1:953               0.0.0.0:*                   LISTEN      1868/named          
tcp        0      0 0.0.0.0:444                 0.0.0.0:*                   LISTEN      2699/httpd.admsrv   
tcp        0   1200 81.19.151.127:10000         85.127.233.204:50765        ESTABLISHED 4589/index.cgi

Wie gesagt ich bin nicht der Server Spezialist, mir sagen die Befehle netstat etwas aber die optimalen Optionen dazu kenne ich nicht. Bin daher auf eure genauen Anweisungen angewiesen.

So, hier noch mit lsof:
> lsof -i :3306

Soweit ich weiß verwendet der SQL Socket 3306 (oder?). Wird nichts gefunden.
 
Last edited by a moderator:
Es kann natürlich sein, dass auch der Inode vom Socket /var/lib/mysql/mysql.sock nicht gelöscht worden ist. Du kannst versuchen diese Datei per Hand zu löschen.

huschi.
 
Mit locate wird auf dem Server keine mysql.sock gefunden. Möglicherweise kommen wir hier weiter.

Code:
> cd /var/lib
> ls -l
total 184
drwxr-xr-x 2 root      root     4096 Dec 16 17:48 abl
drwxr-xr-x 2 root      root     4096 Dec 18 06:01 alternatives
drwx------ 2 apache    apache   4096 Nov 13 00:47 dav
drwxr-xr-x 2 root      root     4096 Jan  8 01:24 dbus
drwxr-xr-x 2 root      root     4096 Sep  3 19:23 dhclient
drwxr-x--- 2 root      root     4096 Jan 13 17:38 dovecot
drwxrwxrwx 4 root      root     4096 Jan  2 10:06 egroupware
drwxr-xr-x 2 root      root     4096 Mar  9  2009 games
drwxr-xr-x 2 root      root     4096 Sep  4 02:38 hal
-rw-r--r-- 1 root      root     1785 Jan 14 04:02 logrotate.status
drwxr-xr-x 2 root      root     4096 Dec 17 04:03 misc
drwxr-x--- 2 root      slocate  4096 Jan 14 04:02 mlocate
drwxr-xr-x 2 root      root     4096 Dec 16 02:21 multipath
drwxr-xr-x 6 munin     munin    4096 Jan 12 15:10 munin
lrwxrwxrwx 1 mysql     mysql      12 Dec 16 17:01 mysql -> /home/mysql/
drwxr-xr-x 2 ntp       ntp      4096 Jan 12 13:58 ntp
drwx------ 4 postgres  postgres 4096 Dec 16 17:20 pgsql
drwxr-xr-x 3 root      root     4096 Jan 13 23:16 php
-rw------- 1 root      root      512 Jan 13 23:07 random-seed
drwxr-xr-x 2 root      root     4096 Jan 14 06:00 rpm
drwxr-xr-x 2 root      root     4096 Dec 16 17:20 sepolgen
drwxr-xr-x 3 root      root     4096 Oct 27 02:14 squirrelmail
drwxr-xr-x 3 root      root     4096 Sep 29 01:34 stateless
drwxr-xr-x 6 root      root     4096 Dec 16 17:01 tomcat5
drwxr-xr-x 2 webalizer root     4096 Dec 17 04:02 webalizer
drwxr-xr-x 2 root      root     4096 Jan 14 06:00 yum

im /var/lib/ gibt es nur einen link Namens mysql aber keinen Ordner mysql.

im home gibt es einen Ordner mysql

Code:
cd /home
> ls -l
total 68
-rw------- 1 root  root   6144 Jan 14 09:30 aquota.group
-rw------- 1 root  root   7168 Jan 14 09:30 aquota.user
drwxr-x--- 2 root  root   4096 Jul 12  2009 cmu
drwx------ 2 root  root  16384 Dec 16 16:54 lost+found
drwxr-xr-x 9 mysql mysql  4096 Jan 14 09:30 mysql
drwxr-xr-x 2 admin users  4096 Dec 16 17:11 packages
drwxr-xr-x 5 root  root   4096 Dec 16 16:57 solarspeed
lrwxrwxrwx 1 root  root      4 Dec 16 17:01 tmp -> /tmp
drwxr-xr-x 2 root  root   4096 Dec 16 21:15 users

und im mysql Ordner steht zusätzlich seit dem 5.Jänner folgende Datei. An diesem Tag machte ich meine letzte Änderung und hatte die my.conf an den RAM angepasst.

Code:
ls -l
-rw-rw---- 1 mysql mysql 10485760 Jan  5 20:35 ibdata1

in my.conf steht original

Code:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
 
Möglicherweise ist der blockierende Prozess inzwischen beendet und der Socket wieder verfügbar.
Schon versucht den MySQL wieder zu starten?

/edit:
Ist die ibdata1 die einzige Datei in dem mysql-Ordner? Kein weiteres Verzeichnis?
Das wäre tatsächlich ein Problem...

huschi.
 
MYSQL lässt sich noch nicht starten. Immer die gleiche Fehlermeldung.

Im mysql Ordner befinden sich schon noch andere Dateien, die alle bereits im Dezember angelegt wurden als wir die Datenbanktabellen eingespielt haben und wie gesagt bis zum 12.Jänner sauber gelaufen ist.

Code:
drwx------ 2 mysql mysql    12288 Dec 23 11:36 forum
-rw-rw---- 1 mysql mysql 10485760 Jan  5 20:35 ibdata1
drwx------ 2 mysql mysql     4096 Dec 17 09:36 intern

in diesen Unterordnern gibt es wieder viele Dateien die mit den Tabellen zusammenhängen.
 
Füge mal den folgenden Abschnitt in Deine my.cnf ein und versuch dann den MySQL-Server nochmal zu starten.
Code:
[safe_mysqld]
err-log=/var/log/mysqld.log

Danach präsentiere uns mal bitte den Inhalt von /var/log/mysqld.log. Poste uns bitte auch mal die Ausgabe von
Code:
df -h; df -i
 
hier mal die gesamte my.cnf (mit # habe ich die RAM Anpassung rückgängig gemacht, hatte aber keine Auswirkung).

was ist mit den Zeilen
skip-innodb
skip-bdb
die hatte ich für die RAM Anpassung auch hinzugefügt

logfile erstelle ich noch.

Code:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1

#key_buffer = 64M
#max_allowed_packet = 4M
#table_cache = 1024

#read_buffer_size = 512K
#sort_buffer_size = 512K
#read_rnd_buffer_size = 512K
#myisam_sort_buffer_size = 64M

#thread_cache = 16
#query_cache_size = 25M
#query_cache_limit = 1M

#thread_concurrency = 4
#long_query_time = 2
#join_buffer_size = 1M
#concurrent_insert=2

#max_connections = 80
#wait_timeout = 15
#connect_timeout = 10
#low_priority_updates= 1 

# log-slow-queries
skip-innodb
skip-bdb

#[mysqldump]
#quick
#max_allowed_packet = 32M

#[mysql]
#no-auto-rehash

#[isamchk]
#key_buffer = 128M
#sort_buffer_size = 128M
#read_buffer = 2M
#write_buffer = 2M

#[myisamchk]
#key_buffer = 128M
#sort_buffer_size = 128M
#read_buffer = 2M
#write_buffer = 2M

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

Code:
> df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-root
                      5.9G  1.6G  4.0G  29% /
/dev/mapper/VolGroup00-tmp
                      2.0G   78M  1.8G   5% /tmp
/dev/md0              243M   31M  201M  14% /boot
/dev/mapper/VolGroup00-var
                      3.9G  767M  3.0G  21% /var
/dev/mapper/VolGroup00-home
                      210G  413M  199G   1% /home
tmpfs                 489M     0  489M   0% /dev/shm
> df -i
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/mapper/VolGroup00-root
                     1572864   69565 1503299    5% /
/dev/mapper/VolGroup00-tmp
                      524288      17  524271    1% /tmp
/dev/md0               64256      52   64204    1% /boot
/dev/mapper/VolGroup00-var
                     1048576   13613 1034963    2% /var
/dev/mapper/VolGroup00-home
                     56786944    1024 56785920    1% /home
tmpfs                 125025       1  125024    1% /dev/shm


edit: logfile
Code:
100114 14:30:11  mysqld started
100114 14:30:11 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
100114 14:30:11 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
100114 14:30:11 [ERROR] Can't start server : Bind on unix socket: Permission denied
100114 14:30:11 [ERROR] Do you already have another mysqld server running on socket: /var/lib/mysql/mysql.sock ?
100114 14:30:11 [ERROR] Aborting

100114 14:30:11 [Note] /usr/libexec/mysqld: Shutdown complete

100114 14:30:11  mysqld ended

100114 14:34:56  mysqld started
100114 14:34:56 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
100114 14:34:56 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
100114 14:34:56 [ERROR] Can't start server : Bind on unix socket: Permission denied
100114 14:34:56 [ERROR] Do you already have another mysqld server running on socket: /var/lib/mysql/mysql.sock ?
100114 14:34:56 [ERROR] Aborting

100114 14:34:56 [Note] /usr/libexec/mysqld: Shutdown complete

100114 14:34:56  mysqld ended

100114 14:39:12  mysqld started
100114 14:39:12 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
100114 14:39:12 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
100114 14:39:12 [ERROR] Can't start server : Bind on unix socket: Permission denied
100114 14:39:12 [ERROR] Do you already have another mysqld server running on socket: /var/lib/mysql/mysql.sock ?
100114 14:39:12 [ERROR] Aborting

100114 14:39:12 [Note] /usr/libexec/mysqld: Shutdown complete

100114 14:39:12  mysqld ended
 
Last edited by a moderator:
Code:
> ls -la /home
total 108
drwxr-xr-x 12 root  root   4096 Dec 16 19:55 .
drw-rw-r-- 24 root  root   4096 Jan 13 23:08 ..
drwxr-xr-x  3 root  root   4096 Jan  2 15:48 .pkg_install_tmp
drwxr-xr-x  3 root  root   4096 Dec 16 19:55 .sites
drwxr-xr-x  2 root  root   4096 Dec 16 17:01 .tmp
drwxr-xr-x  7 root  root   4096 Dec 16 21:12 .users
-rw-------  1 root  root   6144 Jan 15 08:15 aquota.group
-rw-------  1 root  root   7168 Jan 15 08:15 aquota.user
drwxr-x---  2 root  root   4096 Jul 12  2009 cmu
drwx------  2 root  root  16384 Dec 16 16:54 lost+found
drwxr-xr-x  9 mysql mysql  4096 Jan 15 08:15 mysql
drwxr-xr-x  2 admin users  4096 Dec 16 17:11 packages
drwxr-xr-x  5 root  root   4096 Dec 16 16:57 solarspeed
lrwxrwxrwx  1 root  root      4 Dec 16 17:01 tmp -> /tmp
drwxr-xr-x  2 root  root   4096 Dec 16 21:15 users
 
Ich glaube nicht, dass es daran liegt, aber die folgende Zeile sollte schon eher ein 755 haben.

Code:
drw-rw-r-- 24 root  root   4096 Jan 13 23:08 ..

Du könntest ansonsten auch dem User "mysql" temporär mal eine reguläre Loginshell zuweisen, mit "su - mysql" zu diesem werden, und dann mal schrittweise testen, ob Du bis nach /var/lib/mysql/ kommst und dort Dateien anlegen kannst.
 
Du könntest ansonsten auch dem User "mysql" temporär mal eine reguläre Loginshell zuweisen, mit "su - mysql" zu diesem werden, und dann mal schrittweise testen, ob Du bis nach /var/lib/mysql/ kommst und dort Dateien anlegen kannst.

Code:
[ich@home ~]$ sudo su mysql -c /bin/bash
bash-3.2$ whoami
mysql
bash-3.2$
 
Glamdring, mit deinem Kommando bekomme ich folgendes. Ist das normal?

Code:
[root@localhost home]# sudo su mysql -c /bin/bash
sudo: can't open /etc/sudoers: Permission denied
[root@localhost home]#

auch nicht mit

Code:
[root@localhost etc]# su - mysql
su: warning: cannot change directory to /var/lib/mysql: Permission denied
su: /bin/bash: Permission denied
[root@localhost etc]#
 
Last edited by a moderator:
hier ist mir noch etwas aufgefallen. Wieso ist der PostgreSQL Server aktiv oder bedeutet das etwas anderes?
 

Attachments

  • server.jpg
    server.jpg
    35 KB · Views: 97
Last edited by a moderator:
Ich glaube nicht, dass es daran liegt, aber die folgende Zeile sollte schon eher ein 755 haben.

Code:
drw-rw-r-- 24 root  root   4096 Jan 13 23:08 ..

Du könntest ansonsten auch dem User "mysql" temporär mal eine reguläre Loginshell zuweisen, mit "su - mysql" zu diesem werden, und dann mal schrittweise testen, ob Du bis nach /var/lib/mysql/ kommst und dort Dateien anlegen kannst.

Wie kann ich auf 755 ändern? Schaut ja nicht wie ein gewöhnlicher Ordner aus.
 
Back
Top