• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

MYSQL-Problem

spoensche hat geschrieben:
Ich frage mich gerade, wo du die 5.5.16 für SuSE 12.1 her hast. Wie panamajo schon sagte ist die MySQL 5.5.23 die offizielle aus dem Repo. Wie hast du MySQL installiert?
über Yast - Software installieren oder löschen. mysql SUCHEN - AKZEPIEREN
 
Poste mal bitte den Inhalt der MySQL Logs. Öffne mal eine Konsole und starte MySQL dann mal mit
Code:
/usr/sbin/mysqld_safe
. Die Ausgabe bitte posten.
 
@spoensche: Ausgabe von
/usr/sbin/mysqld_safe:
Code:
linux-h0o3:/home/fhf # /usr/sbin/mysqld_safe
bash: /usr/sbin/mysqld_safe: Datei oder Verzeichnis nicht gefunden
 
@spoensche: Ausgabe von
/usr/bin/mysqld_safe:
Code:
fhf@linux-h0o3:~> /usr/bin/mysqld_safe
120617 10:52:07 mysqld_safe Logging to '/var/lib/mysql/linux-h0o3.err'.
120617 10:52:07 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
/usr/bin/mysqld_safe: Zeile 108: /var/lib/mysql/linux-h0o3.err: Keine Berechtigung
/usr/bin/mysqld_safe: Zeile 145: /var/lib/mysql/linux-h0o3.err: Keine Berechtigung
120617 10:52:07 mysqld_safe mysqld from pid file /var/lib/mysql/linux-h0o3.pid ended
/usr/bin/mysqld_safe: Zeile 108: /var/lib/mysql/linux-h0o3.err: Keine Berechtigung
fhf@linux-h0o3:~> su
Passwort: 
linux-h0o3:/home/fhf # /usr/bin/mysqld_safe
120617 10:52:23 mysqld_safe Logging to '/var/log/mysql/mysqld.log'.
120617 10:52:23 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
120617 10:52:23 mysqld_safe mysqld from pid file /var/lib/mysql/linux-h0o3.pid ended
linux-h0o3:/home/fhf #
 
spoensche hat geschrieben:
Du musst den Befehl als root aufrufen.
Ergebnis:
Code:
linux-h0o3:/home/fhf # /usr/bin/mysqld_safe
120617 17:33:16 mysqld_safe Logging to '/var/log/mysql/mysqld.log'.
120617 17:33:16 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
120617 17:33:16 mysqld_safe mysqld from pid file /var/lib/mysql/linux-h0o3.pid ended
linux-h0o3:/home/fhf #
 
Hallo,

mysql ist nicht mein Ding, aber ich habe trotzdem eine Bemerkung:

Ändere das mal in
Code:
log_bin = /var/log/mysql/mysql-bin
log_bin_index = /var/log/mysql/mysql-bin.index
So wie ich das sehe sind "log_bin" sowie "log_bin_index" keine zulässigen Variablen für "my.cnf". Stattdessen sollte es heissen:

Code:
log-bin = /var/log/mysql/mysql-bin
log-bin-index = /var/log/mysql/mysql-bin.index

Aber für:
Code:
linux-h0o3:/home/fhf/IBJts/lynx_unix_linux/IBJts # mysql --version
mysql  Ver 14.14 Distrib 5.5.16, for Linux (i686) using readline 6.2
lese ich:

MySQL 5.5 Manual
16.1.3.4. Binary Log Options and Variables
http://dev.mysql.com/doc/refman/5.5/en/replication-options-binary-log.html

(siehe: "--log-bin[=base_name]" sowie "--log-bin-index[=file_name]")

Setting this option causes the log_bin system variable to be set to ON (or 1), and not to the basename. This is a known issue; see Bug #19614 for more information.
Vielleicht hilft dies weiter.

@poiuz

Was geschieht wenn Du in "my.cnf" die oben gezeigten zwei Zeilen editierst bzw. einfügst? (die zweite Zeile ist neu). (Du hast ja nicht die original openSUSE sondern "Balsam Professional 12.1 (i586)" -- vielleicht ist Dein mysql ja gepatched worden?).

Gruss,
Roland
 
@RME
log-bin = /var/log/mysql/mysql-bin
log-bin-index = /var/log/mysql/mysql-bin.index
habe ich in my.cnf geändert.

Fehlermeldung in apache2/error.log bleibt bei:
Code:
Can't connect to local MySQL server through socket '/var/run/mysql/mysql.sock' (2) at /srv/www/cgi-bin/perl_programme/firmen_suchen.pl line 1441
 
Ich habe den Verdacht dass Du ein Berechtigungs-Problem hast.

Was zeigt:
Code:
ls -l /var/run/
ls -l /var/run/mysql
>>> poste diese Ausgaben wie sie sind bevor Du die nachfolgenden Befehle eingibst.

Zum sicher sein (ist vielleicht bereits so, dann schadets nichts), mach bitte (als root):
Code:
chown mysql:mysql -R /var/run/mysql
sowie:
Code:
chmod 755 -R /var/run/mysql
und starte mysql neu.
 
Code:
fhf@linux-h0o3:~> su
Passwort: 
linux-h0o3:/home/fhf # ls -l /var/run/
insgesamt 32
-rw-r--r-- 1 root  root     4 20. Jun 12:31 acpid.pid
srw-rw-rw- 1 root  root     0 20. Jun 12:31 acpid.socket
drwxr-xr-x 2 avahi avahi   80 20. Jun 12:31 avahi-daemon
drwxr-xr-x 2 root  root    80 20. Jun 12:31 ConsoleKit
-rw-r--r-- 1 root  root     4 20. Jun 12:31 cron.pid
---------- 1 root  root     0 20. Jun 12:31 cron.reboot
drwxr-xr-x 3 root  lp      80 20. Jun 12:31 cups
drwxr-xr-x 3 root  root   100 20. Jun 12:31 dbus
-rw-r--r-- 1 root  root     4 20. Jun 12:31 dhcpcd-eth0.pid
lrwxrwxrwx 1 root  root    16 20. Jun 12:31 displaymanager.pid -> /var/run/kdm.pid
-rw-r--r-- 1 root  root     3 20. Jun 12:31 haveged.pid
-rw-r--r-- 1 root  root     5 20. Jun 12:32 httpd2.pid
drwxr-xr-x 2 root  root    60 20. Jun 12:31 initramfs
-rw-r--r-- 1 root  root     5 20. Jun 12:31 kdm.pid
drwxr-xr-x 5 root  root   100 20. Jun 12:32 lock
drwxr-xr-x 2 root  root    60 20. Jun 12:31 mount
drwxr-xr-x 2 mysql mysql   60 20. Jun 12:32 mysql
drwxr-xr-x 3 root  root    60 20. Jun 12:31 netconfig
drwxr-xr-x 2 root  root    80 20. Jun 12:31 nscd
srw-rw-rw- 1 root  root     0 20. Jun 12:31 .nscd_socket
lrwxrwxrwx 1 root  root    22 20. Jun 12:32 ntp -> ../lib/ntp/var/run/ntp
drwxr-xr-x 4 root  root    80 20. Jun 12:31 pm-utils
drwxr-xr-x 2 root  root    80 20. Jun 12:31 rsyslog
-rw-r--r-- 1 root  root     4 20. Jun 12:31 rsyslogd.pid
drwxr-xr-x 2 root  root    40 20. Jun 12:31 screens
drwxr-xr-x 3 root  root    60 20. Jun 12:32 SuSEfirewall2
drwxr-xr-x 8 root  root   260 20. Jun 12:31 systemd
drwxr-xr-x 8 root  root   180 20. Jun 12:32 udev
drwxr-xr-x 2 root  root    60 20. Jun 12:31 udev-configure-printer
drwx------ 2 root  root    40 20. Jun 12:31 udisks
drwxrwxrwt 2 root  root    40 20. Jun 12:31 uscreens
drwxr-xr-x 4 root  root    80 20. Jun 11:22 user
-rw-rw-r-- 1 root  utmp  3456 20. Jun 17:54 utmp
drwxrwxrwt 2 root  root    40 20. Jun 12:31 vi.recover
drwxr-xr-x 4 root  root    80 20. Jun 12:31 xdmctl

Code:
linux-h0o3:/home/fhf # ls -l /var/run/mysql
insgesamt 4                                                                                                           
-rw-r--r-- 1 root root 22 20. Jun 12:32 tmpdir
l

Code:
linux-h0o3:/home/fhf # chown mysql:mysql -R /var/run/mysql
linux-h0o3:/home/fhf # chmod 755 -R /var/run/mysql
linux-h0o3:/home/fhf # /usr/bin/mysqld_safe start
120620 17:55:57 mysqld_safe Logging to '/var/log/mysql/mysqld.log'.
120620 17:55:57 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
120620 17:55:57 mysqld_safe mysqld from pid file /var/lib/mysql/linux-h0o3.pid ended
linux-h0o3:/home/fhf #

Fehlermeldung in apache2/error.log bleibt bei:

Code:
Can't connect to local MySQL server through socket '/var/run/mysql/mysql.sock' (2) at /srv/www/cgi-bin/perl_programme/firmen_suchen.pl line 1441
 
Das tmpdir hat in dem Verzeichnis schon mal gar nichts verloren. Sind auch wirklich alle Datenbanken schon unter /var/lib/mysql vorhanden?
 
poiuz schrieb:
Code:
linux-h0o3:/home/fhf # chown mysql:mysql -R /var/run/mysql
linux-h0o3:/home/fhf # chmod 755 -R /var/run/mysql
linux-h0o3:/home/fhf # /usr/bin/mysqld_safe start
120620 17:55:57 mysqld_safe Logging to '/var/log/mysql/mysqld.log'.
120620 17:55:57 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
120620 17:55:57 mysqld_safe mysqld from pid file /var/lib/mysql/linux-h0o3.pid ended
linux-h0o3:/home/fhf #
Wie in /usr/share/doc/packages/mysql-community-server/README.SuSE beschrieben sollte die PID in /var/run/mysql/mysql.pid angelegt werden.
Was steht denn in der Logdatei /var/log/mysql/mysqld.log?
 
@spoensche: Ja, Datenbanken sind in /var/lib/mysql vorhanden
Wie kommt tempdir in /var/lib/mysql?

Code:
120620 20:47:21 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
/usr/sbin/mysqld: File '/var/log/mysql/mysql-bin.index' not found (Errcode: 13)
120620 20:47:21 [ERROR] Aborting

120620 20:47:21 [Note] /usr/sbin/mysqld: Shutdown complete

120620 20:47:21 mysqld_safe mysqld from pid file /var/lib/mysql/linux-h0o3.pid ended
Wenn mysql durch:
Code:
/usr/bin/mysqld_safe start
anscheinend nicht manuell gestartet wird; mit welchem Befehl soll ich´s versuchen?
 
Hier ist die my.cnf:
Code:
# Example MySQL config file for medium systems.
#
# This is for a system with little memory (32M - 64M) where MySQL plays
...
...
# The safe_mysqld script
[safe_mysqld]
log-error   = /var/log/mysql/mysqld.log
socket      = /var/run/mysql/mysql.sock
...
...
Also:
Code:
cat /var/log/mysql/mysqld.log
Gibts noch andere mysql Log-Dateien dort?
Code:
ls -l /var/log/mysql*
ls -l /var/log/mysql/mysql*
Und dann noch:
Code:
dmesg | grep mysql
 

Ich habe die Befehle als root eingegeben; aber aufgrund Nichtwissens kann ich mit den Ausgaben nichts anfangen - Ich bitte um Geduld. und Nachsicht.
Code:
fhf@linux-h0o3:~> su
Passwort: 
linux-h0o3:/home/fhf # cat /var/log/mysql/mysqld.log
120622 07:40:11 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
/usr/sbin/mysqld: File '/var/log/mysql/mysql-bin.index' not found (Errcode: 13)
120622  7:40:11 [ERROR] Aborting

120622  7:40:11 [Note] /usr/sbin/mysqld: Shutdown complete

120622 07:40:11 mysqld_safe mysqld from pid file /var/run/mysql/mysqld.pid ended
120622 07:51:25 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
/usr/sbin/mysqld: File '/var/log/mysql/mysql-bin.index' not found (Errcode: 13)
120622  7:51:25 [ERROR] Aborting

120622  7:51:25 [Note] /usr/sbin/mysqld: Shutdown complete

120622 07:51:25 mysqld_safe mysqld from pid file /var/run/mysql/mysqld.pid ended
120623 13:12:09 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
/usr/sbin/mysqld: File '/var/log/mysql/mysql-bin.index' not found (Errcode: 13)
120623 13:12:09 [ERROR] Aborting

120623 13:12:09 [Note] /usr/sbin/mysqld: Shutdown complete

120623 13:12:10 mysqld_safe mysqld from pid file /var/run/mysql/mysqld.pid ended
120623 21:46:06 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
/usr/sbin/mysqld: File '/var/log/mysql/mysql-bin.index' not found (Errcode: 13)
120623 21:46:06 [ERROR] Aborting

120623 21:46:06 [Note] /usr/sbin/mysqld: Shutdown complete

120623 21:46:06 mysqld_safe mysqld from pid file /var/run/mysql/mysqld.pid ended
linux-h0o3:/home/fhf # 
linux-h0o3:/home/fhf # 
linux-h0o3:/home/fhf # 
linux-h0o3:/home/fhf # ls -l /var/log/mysql*
-rw-r--r-- 1 root  root     2 22. Jun 08:50 /var/log/mysqld_multi.log

/var/log/mysql:
insgesamt 60
-rw-rw---- 1 mysql mysql 1368 23. Jun 2012  mysqld.log
-rw-rw---- 1 mysql mysql 3083 26. Mai 22:01 mysqld.log-20120526                                                       
-rw-rw---- 1 mysql mysql 4804 27. Mai 21:55 mysqld.log-20120527
-rw-rw---- 1 mysql mysql 9608 28. Mai 22:58 mysqld.log-20120528
-rw-rw---- 1 mysql mysql 4804 30. Mai 20:59 mysqld.log-20120530
-rw-rw---- 1 mysql mysql 2402 31. Mai 22:18 mysqld.log-20120531
-rw-rw---- 1 mysql mysql 2402  1. Jun 19:19 mysqld.log-20120601
-rw-rw---- 1 mysql mysql 2402  2. Jun 21:12 mysqld.log-20120602
-rw-rw---- 1 mysql mysql  352 19. Jun 16:18 mysqld.log-20120619.xz
-rw-rw---- 1 mysql mysql  296 20. Jun 12:32 mysqld.log-20120620.xz
-rw-rw---- 1 mysql mysql  348 21. Jun 17:57 mysqld.log-20120621.xz
linux-h0o3:/home/fhf # 
linux-h0o3:/home/fhf # 
linux-h0o3:/home/fhf # 
linux-h0o3:/home/fhf # ls -l /var/log/mysql/mysql*
-rw-rw---- 1 mysql mysql 1368 23. Jun 2012  /var/log/mysql/mysqld.log
-rw-rw---- 1 mysql mysql 3083 26. Mai 22:01 /var/log/mysql/mysqld.log-20120526
-rw-rw---- 1 mysql mysql 4804 27. Mai 21:55 /var/log/mysql/mysqld.log-20120527
-rw-rw---- 1 mysql mysql 9608 28. Mai 22:58 /var/log/mysql/mysqld.log-20120528
-rw-rw---- 1 mysql mysql 4804 30. Mai 20:59 /var/log/mysql/mysqld.log-20120530
-rw-rw---- 1 mysql mysql 2402 31. Mai 22:18 /var/log/mysql/mysqld.log-20120531
-rw-rw---- 1 mysql mysql 2402  1. Jun 19:19 /var/log/mysql/mysqld.log-20120601
-rw-rw---- 1 mysql mysql 2402  2. Jun 21:12 /var/log/mysql/mysqld.log-20120602
-rw-rw---- 1 mysql mysql  352 19. Jun 16:18 /var/log/mysql/mysqld.log-20120619.xz
-rw-rw---- 1 mysql mysql  296 20. Jun 12:32 /var/log/mysql/mysqld.log-20120620.xz
-rw-rw---- 1 mysql mysql  348 21. Jun 17:57 /var/log/mysql/mysqld.log-20120621.xz
linux-h0o3:/home/fhf # 
linux-h0o3:/home/fhf # 
linux-h0o3:/home/fhf # 
linux-h0o3:/home/fhf # dmesg | grep mysql
 
Die Logdatei mysqld-multi.log wird nur angelegt,wenn der mysqld_multi gestartet worden ist. D.h. dass du mit mehr als einer MySQL Instanz gearbeitet hast, was normalerweise auch nichts schlimmes ist. Du hast dabei das wichtigste aussen vorgelassen: Bei der Verwendung von mysqld_multi und mehr als eine Instanz, muss für jede Instanz ein eigenes Verzeihnis für die Datenbanken existieren und sollte auch verwendet werden, weil es zu Datenverlust kommen kann.

Das ist bei dir eingetreten. An einer Stelle hat es gehackt und wenn du nur die Binlogs verloren hast, hast du riesiges Glück gehabt.

Deaktiviere in deiner my.cnf den mysqld_multi Daemon und für InnoDB setzt du mal den Wert
Code:
innodb_force_reovery = 5
. Lade dir vorsichtshalber auch mal noch das InnoDB Recovery Tool von Percona runter
 
Oben