Mysql: ERROR 2002 und mysqld_safe startet nicht

K

koli.bri

Hallo...

ich verzweifel gerade...

Nach der wunderbaren Anleitung hier im forum habe ich Mysql kompiliert und installiert.
Ich hatte heute auch schon eine Verbindung im Terminal.
aber nach einem Neustart (um die "Automatisch Mysql-Scripte" zu starten), tuts nichts mehr...

Will ich mich mit
Code:
localhost:/usr/local/mysql kolibri$ /usr/local/mysql/bin/mysql
bei mysql anmelden, kommt folgende Meldung:
Code:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/usr/local/mysql/run/mysql.sock' (2)

Gut, denk ich mir, hat der mysqlserver halt nicht gestartet. Kein Problem.
also, wie in dem Tutorial:
Code:
localhost:/usr/local/mysql kolibri$ sudo /usr/local/mysql/bin/mysqld_safe --user=mysql &
Danach das Passswort eingegeben.
Da kommt dann folgendes als "Meldung" zurück:
Code:
[9] 351
Wobei die 9 Die Zahl ist, wie oft ich obenstehenden Befehl bereits ausführen wollte, und die Zahl dahinter wird bei jedem einzelnem Befehl, den ich eingebe um eins größer.


Es handelt sich um die MySQL-Version 5.0.27 und OSX 10.4.8.

Das System ist eigentlich frisch aufgesetzt, ich hab heute Morgen noch "Archivieren und neu installieren" gemacht, ohne die Benutzer mitzunehmen, da ich den Benutzer mysql schon auf dem System hatte (aus einem vorherigem, fehlgeschlagenem Versuch mysql zu installieren), und den hierfür weghaben wollte (um eine Fehlerquelle auszuschließen).
Merkwürdigerweise war der Benutzer aber nach dem Neuinstallieren immer noch da...
Da ich abeer schon eine funktionierende Verbindung zur Datenbank habe (ich hab auch schon das Passwort geändert), schließe ich das als Fehlerquelle aus.

Das Script http://www.entropy.ch/software/MacOSx/mysql/remove-old-mysql.html hab ich auch schon ausgeführt, aber es hat nichts gefunden :suspect:

So, und da steh ich nun, und weiß nicht weiter...

Mag sich wer meinem Problem annehmen und mir helfen?

Vielen lieben Dank


Lukas
 
guck mal in deine my.cnf, ob du auch den socket überhaupt an /usr/local/mysql/run/mysql.sock machst...

der mysql startet übrigens schon, die zahl ist wohl einfach nur die PID des mysql prozesses...
 
Schande über mich, dass ich damit nichts anfangen kann, aber die Suche nach der my.cnf lief so ab:

Code:
localhost:~ kolibri$ sudo find / -name my.cnf -print
/Previous Systems.localized/Vorheriges System 1/private/etc/my.cnf
/Volumes/Einstein/Totalsicherrung 2006-12-19/Users/kolibri/Library/Preferences/com.barebones.textwrangler.PreferenceData/Recent Files & Favorites/my.cnf

Muss ich da zuerst eine der "vorgefertigten" my-*.cnf nehmen? (In /usr/local/mysql/share/mysql/ liegen die).

Wenn ja, wohin damit?

Verzeiht meine Unwissenheit, aber ich mach das zum ersten Mal...

gruß
Lukas
 
du könntest eine vorgefertigte nehmen, weil da kommentiert drin steht wozu was gut ist ;)
und es dann deinen wünschen anpassen...

packen müssen wirst du die wohl entweder nach /etc/ oder nach /usr/local/mysql/etc/
 
Also, ich hab jetzt die vorgefertigte my-small.cnf nach /etc/my.cnf kopiert.
Es gibt zwei zeilen mit "socket", beide verweisen auf die "/usr/local/mysql/run/mysql.sock"

Code:
# Example MySQL config file for small systems.
#
# This is for a system with little memory (<= 64M) where MySQL is only used
# from time to time and it's important that the mysqld daemon
# doesn't use much resources.
#
# You can copy this file to
# /etc/my.cnf to set global options,
# mysql-data-dir/my.cnf to set server-specific options (in this
# installation this directory is /usr/local/mysql/var) or
# ~/.my.cnf to set user-specific options.
#
# In this file, you can use all long options that a program supports.
# If you want to know which options a program supports, run the program
# with the "--help" option.

# The following options will be passed to all MySQL clients
[client]
#password	= your_password
port		= 3306
socket		= /usr/local/mysql/run/mysql.sock

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
port		= 3306
socket		= /usr/local/mysql/run/mysql.sock
skip-locking
key_buffer = 16K
max_allowed_packet = 1M
table_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 64K

# Don't listen on a TCP/IP port at all. This can be a security enhancement,
# if all processes that need to connect to mysqld run on the same host.
# All interaction with mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
# (using the "enable-named-pipe" option) will render mysqld useless!
# 
#skip-networking
server-id	= 1

# Uncomment the following if you want to log updates
#log-bin=mysql-bin

# Uncomment the following if you are NOT using BDB tables
#skip-bdb

# Uncomment the following if you are using InnoDB tables
#innodb_data_home_dir = /usr/local/mysql/var/
#innodb_data_file_path = ibdata1:10M:autoextend
#innodb_log_group_home_dir = /usr/local/mysql/var/
#innodb_log_arch_dir = /usr/local/mysql/var/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size = 16M
#innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 5M
#innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates

[isamchk]
key_buffer = 8M
sort_buffer_size = 8M

[myisamchk]
key_buffer = 8M
sort_buffer_size = 8M

[mysqlhotcopy]
interactive-timeout

Ändern an den Ergebnissen, die ich bekomme, tut sich nichts.
Auch der Versuch, den MySQL-Server mit einem
Code:
sudo /usr/local/mysql/bin/mysqladmin -uroot -p shutdown
schlägt fehl. (
Code:
'Can't connect to local MySQL server through socket '/usr/local/mysql/run/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/usr/local/mysql/run/mysql.sock' exists!
)

Langsam verlier ich vollkommen den Überblick -.-

gruß
Lukas
 
1. Prüfe mal, ob mysql in /usr/local/mysql/run schreiben darf. Mach einfach mal:
sudo chown -R mysql /usr/local/mysql/run

2. Dann versuch mal mysql (neu) zu starten und guck nach, ob sich in dem Verzeichnis mysql.sock befindet.

3. Ansonsten verbinde Dich doch einfach über httpd:
/usr/local/mysql/bin/mysql -h 127.0.0.1 -u root
 
Wie hast Du MySQL eigentlich konfiguriert? Bei mir läuft es prima mit:

CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" \
./configure --prefix=/usr/local/mysql \
--localstatedir=/usr/local/mysql/data \
--libexecdir=/usr/local/mysql/bin \
--libdir=/usr/local/mysql/lib \
--with-server-suffix=-standard \
--enable-thread-safe-client \
--enable-local-infile \
--enable-shared \
--with-zlib-dir=bundled \
--with-big-tables \
--with-readline \
--with-archive-storage-engine \
--with-innodb \
--without-docs \
--without-bench

Den Socket habe ich in /tmp bzw. /private/tmp (Auf dem Mac ist /tmp ein Alias) liegen.
 
Weil das Package bei mysql.com ohne shared libraries kompiliert wurde :)
 
Hi,

ich weiß nicht so genau ob ich das gleiche Problem habe wie der Themenstarter, aber immerhin bekomme ich die gleiche Fehlermeldung, also schreibe ich einfach mal hier weiter.
Also ich habe mysql nach folgender Anleitung installiert:
http://www.macdevcenter.com/pub/a/mac/2005/08/30/apache.html?page=2

Um das ganze auszuprobieren, habe ich nach folgender Anleitung von der gleichen Seite ein mediawiki aufgesetzt.
http://www.macdevcenter.com/pub/a/mac/2005/09/20/apache.html?page=2

Also wie dort beschrieben per Hand im Terminal die Datenbank angelegt (schwierig genug, bin erst seit heute in diesem UNIX backend drin ;) ) und dann das setup gestartet. Wenn ich da alles soweit eintrage und dann starte bekomme ich folgende Fehlermeldung:

Attempting to connect to database server as wiki_user...failed with error [2002] Can't connect to local MySQL server through socket '/var/mysql/mysql.sock' (2).

Ich hatte keine Ahnung was das nun soll, vor allem da ich strikt nach o.g. Anleitung vorgegangen bin, hab das aber auf das per Hand erstellen der Datenbank geschoben und wollte das neu machen und hab mir dazu phpmyadmin runtergeladen und soweit ich das hinbekommen habe auch installiert, meine config.inc.php sieht folgendermaßen aus:

/*
$cfg['blowfish_secret'] = '123456654223';
$i = 0;
$i++;
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
/* Select mysqli if your server has it */
$cfg['Servers'][$i]['extension'] = 'mysql';
/* User for advanced features */
$cfg['Servers'][$i]['controluser'] = 'pmausr';
$cfg['Servers'][$i]['controlpass'] = 'pmapass';
/* Advanced phpMyAdmin features */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
$cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma_column_info';
$cfg['Servers'][$i]['history'] = 'pma_history';

Wenn ich den Login starte (habe es probiert mit "root" und dem "wiki_user" dingens) bekomme ich folgende Fehlermeldung:

#2002 - Der Server antwortet nicht. (evtl. ist auch der Socket des lokalen MySQL-Servers socket nicht korrekt konfiguriert)

Also irgendwie der gleiche Fehler wie oben. Ich wollte mir dann das Verzeichnis "/var/mysql/mysql.sock" aus der mediawiki Fehlermeldung mal ansehen, aber ich habe in var gar kein mysql Unterverzeichnis.

Kann mir da jemand weiterhelfen???

Danke
 
Du musst das Verzeichniss "mysql" selbst anlegen.
Schau mal im Angepinnten Thread hier oben im Forum, ob der Dir weiter hilft.

:)
Ansonsten, schau Dir mal die Packages von Entropy an, die sind wunderbar, nahzu göttlich :D

gruß
Lukas
 
Hmm...aber warum muss ich das Verzeichnis denn selbst anlegen? In dem Tutorial steht davon kein Wort. Außerdem habe ich damit ja noch lange keine mysql.sock datei darin liegen?!

Den Sticky Thread oben habe ich mir schon durchgelesen, aber dieses selber compilieren ist ja noch viel mehr Konsole als ich bisher schon habe und hält dadurch für mich noch viel mehr stolpersteine bereit.

Was sind denn die Entropy packages?
 
MySQL selbsts zu kompilieren, macht zur Zeit recht wenig Sinn,
ich habe die Tutorials zu der Zeit geschrieben, als der Switch zu
Intel gerade aktuell war, und es MySQL als Installer nur für PPC
gab.

Nippie: Schau dich mal bei www.entropy.ch um, da solltest du
fündig werden.
 
Jo, vielen Dank es klappt jetzt. Die auf entropy beschriebene anleitung für mysql 4.x lief zwar völlig schief, aber die gleiche Anleitung lässt sich prima mit version 5 nutzen :D
 
Zurück
Oben Unten