PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Debian: Mysql laesst sich nicht installieren



H3mpm4n
08.11.04, 19:09
Hi,
ich habe vor einiger Zeit mysql mit dem Befehl:
apt-get remove --purge mysql-server mysql-client von meiner Debian Sarge Kiste deinstalliert.

Heute wollte ich mysql mit
apt-get install mysql-server mysql-client neuinstallieren. Das ging soweit auch alles nur als der server starten wollte, kam diese Meldung:



Die folgenden NEUEN Pakete werden installiert:
mysql-client mysql-server
0 aktualisiert, 2 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Es müssen noch 0B von 4051kB Archiven geholt werden.
Nach dem Auspacken werden 9826kB Plattenplatz zusätzlich benutzt.
shell-init: could not get current directory: getcwd: cannot access parent directories: Datei oder Verzeichnis nicht gefunden
shell-init: could not get current directory: getcwd: cannot access parent directories: Datei oder Verzeichnis nicht gefunden
shell-init: could not get current directory: getcwd: cannot access parent directories: Datei oder Verzeichnis nicht gefunden
Preconfiguring packages ...
shell-init: could not get current directory: getcwd: cannot access parent directories: Datei oder Verzeichnis nicht gefunden
Wähle vormals abgewähltes Paket mysql-client.
(Lese Datenbank ... 94005 Dateien und Verzeichnisse sind derzeit installiert.)
Entpacke mysql-client (aus .../mysql-client_4.0.21-6_i386.deb) ...
Wähle vormals abgewähltes Paket mysql-server.
Entpacke mysql-server (aus .../mysql-server_4.0.21-6_i386.deb) ...
Richte mysql-client ein (4.0.21-6) ...
Richte mysql-server ein (4.0.21-6) ...
Stopping MySQL database server: mysqld.

WARNING: /etc/mysql/my.cnf cannot be read. See README.Debian.
Starting MySQL database server: mysqld...failed.
Please take a look at the syslog.

Syslog spuckt mir dann folgendes aus:


Nov 8 20:17:01 localhost /USR/SBIN/CRON[29719]: (root) CMD ( run-parts --report /etc/cron.hourly)
Nov 8 20:17:25 localhost mysqld_safe[29827]: Preparing db table
Nov 8 20:17:25 localhost mysqld_safe[29827]: Preparing host table
Nov 8 20:17:25 localhost mysqld_safe[29827]: Preparing user table
Nov 8 20:17:25 localhost mysqld_safe[29827]: Preparing func table
Nov 8 20:17:25 localhost mysqld_safe[29827]: Preparing tables_priv table
Nov 8 20:17:25 localhost mysqld_safe[29827]: Preparing columns_priv table
Nov 8 20:17:25 localhost mysqld_safe[29827]: Installing all prepared tables
Nov 8 20:17:25 localhost mysqld_safe[29827]: 041108 20:17:25 /usr/sbin/mysqld: Shutdown Complete
Nov 8 20:17:25 localhost mysqld_safe[29827]:
Nov 8 20:17:25 localhost mysqld_safe[29827]:
Nov 8 20:17:25 localhost mysqld_safe[29827]: PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
Nov 8 20:17:25 localhost mysqld_safe[29827]: To do so, start the server, then issue the following commands:
Nov 8 20:17:25 localhost mysqld_safe[29827]: /usr/bin/mysqladmin -u root password 'new-password'
Nov 8 20:17:25 localhost mysqld_safe[29827]: /usr/bin/mysqladmin -u root -h server password 'new-password'
Nov 8 20:17:25 localhost mysqld_safe[29827]: See the manual for more instructions.
Nov 8 20:17:25 localhost mysqld_safe[29827]:
Nov 8 20:17:25 localhost mysqld_safe[29827]: Please report any problems with the /usr/bin/mysqlbug script!
Nov 8 20:17:25 localhost mysqld_safe[29827]:
Nov 8 20:17:25 localhost mysqld_safe[29827]: The latest information about MySQL is available on the web at
Nov 8 20:17:25 localhost mysqld_safe[29827]: http://www.mysql.com
Nov 8 20:17:25 localhost mysqld_safe[29827]: Support MySQL by buying support/licenses at https://order.mysql.com
Nov 8 20:17:25 localhost mysqld_safe[29827]:
Nov 8 20:17:25 localhost mysqld_safe[29840]: ERROR: 1017 Can't find file: './mysql/user.frm' (errno: 13)
Nov 8 20:17:25 localhost mysqld_safe[29840]: 041108 20:17:25 /usr/sbin/mysqld: Shutdown Complete
Nov 8 20:17:25 localhost mysqld_safe[29840]:
Nov 8 20:17:25 localhost mysqld_safe[29847]: ERROR: 1017 Can't find file: './mysql/user.frm' (errno: 13)
Nov 8 20:17:25 localhost mysqld_safe[29847]: 041108 20:17:25 /usr/sbin/mysqld: Shutdown Complete
Nov 8 20:17:25 localhost mysqld_safe[29847]:
Nov 8 20:17:26 localhost mysqld_safe[29893]: started
Nov 8 20:17:26 localhost mysqld[29896]: InnoDB: The first specified data file ./ibdata1 did not exist:
Nov 8 20:17:26 localhost mysqld[29896]: InnoDB: a new database to be created!
Nov 8 20:17:26 localhost mysqld[29896]: 041108 20:17:26 InnoDB: Setting file ./ibdata1 size to 10 MB
Nov 8 20:17:26 localhost mysqld[29896]: InnoDB: Database physically writes the file full: wait...
Nov 8 20:17:26 localhost mysqld[29896]: 041108 20:17:26 InnoDB: Log file ./ib_logfile0 did not exist: new to be created
Nov 8 20:17:26 localhost mysqld[29896]: InnoDB: Setting log file ./ib_logfile0 size to 5 MB
Nov 8 20:17:26 localhost mysqld[29896]: InnoDB: Database physically writes the file full: wait...
Nov 8 20:17:27 localhost mysqld[29896]: 041108 20:17:27 InnoDB: Log file ./ib_logfile1 did not exist: new to be created
Nov 8 20:17:27 localhost mysqld[29896]: InnoDB: Setting log file ./ib_logfile1 size to 5 MB
Nov 8 20:17:27 localhost mysqld[29896]: InnoDB: Database physically writes the file full: wait...
Nov 8 20:17:27 localhost mysqld[29896]: InnoDB: Doublewrite buffer not found: creating new
Nov 8 20:17:28 localhost mysqld[29896]: InnoDB: Doublewrite buffer created
Nov 8 20:17:28 localhost mysqld[29896]: InnoDB: Creating foreign key constraint system tables
Nov 8 20:17:28 localhost mysqld[29896]: InnoDB: Foreign key constraint system tables created
Nov 8 20:17:28 localhost mysqld[29896]: 041108 20:17:28 InnoDB: Started
Nov 8 20:17:28 localhost mysqld[29896]: 041108 20:17:28 Fatal error: Can't open privilege tables: Can't find file: './mysql/host.frm' (errno: 13)
Nov 8 20:17:28 localhost mysqld[29896]: 041108 20:17:28 Aborting
Nov 8 20:17:28 localhost mysqld[29896]:
Nov 8 20:17:28 localhost mysqld[29896]: 041108 20:17:28 InnoDB: Starting shutdown...
Nov 8 20:17:30 localhost mysqld[29896]: 041108 20:17:30 InnoDB: Shutdown completed
Nov 8 20:17:30 localhost mysqld[29896]: 041108 20:17:30 /usr/sbin/mysqld: Shutdown Complete
Nov 8 20:17:30 localhost mysqld[29896]:
Nov 8 20:17:30 localhost mysqld_safe[29910]: ended
Nov 8 20:17:35 localhost /etc/init.d/mysql[29953]: 0 processes alive and '/usr/bin/mysqladmin --defaults-extra-file=/etc/mysql/debian.cnf ping' resulted in
Nov 8 20:17:35 localhost /etc/init.d/mysql[29953]: ^G/usr/bin/mysqladmin: connect to server at 'localhost' failed
Nov 8 20:17:35 localhost /etc/init.d/mysql[29953]: error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
Nov 8 20:17:35 localhost /etc/init.d/mysql[29953]: Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!
Nov 8 20:17:35 localhost /etc/init.d/mysql[29953]:

Weiss einer weiter??

Gruesse hempi

tictactux
08.11.04, 19:39
WARNING: /etc/mysql/my.cnf cannot be read. See README.Debian
gelesen ?
Die erste Zeile von /usr/share/doc/mysql-server/README.Debian
beginnt mit '* MYSQL WON'T START OR STOP?:'

Gruss,
Wolfgang

H3mpm4n
09.11.04, 16:49
Ja hab ich gelesen.
Leider sagt mir das ueberhaupt nichts.


* MYSQL WON'T START OR STOP?:
=============================
You may never ever delete the special mysql user "debian-sys-maint". This user
together with the credentials in /etc/mysql/debian.cnf are used by the
init scripts to stop the server as they would require knowledge of the
mysql root users password else.
So in most of the times you can fix the situation by making sure that
the debian.cnf file contains the right password, e.g. by setting a new
one (remember to do a "flush privileges" then).

Mein englisch ist leider nicht so toll :*(
Ich soll niemals den spezial mysql benutzer debian-sys-main loeschen. Weil die initscripte ihn zusammen mit den Angaben aus der debian.cnf (PW und User...)
verwenden um den server zu starten und zu stopen. Meistens kann man dieses Problem beheben, indem man schaut ob das richtige Passwort in der cnf Datei steht. Den Rest den blick ich nicht :(

Auf jeden Fall hab ich keinen User geloescht. Mal nicht bewusst, es sei denn bei apt-get remove --purge mysql-server mysql-client wird der Benutzer auch geloescht?? Ich vermute eher, dass Mysql nicht sauber deinstalliert wurde.
Frueher habe ich solche Probleme immer mit dem Neuaufsetzen des Systems gefixed, jetzt habe ich aber schon soviel Arbeit in mein System gesteckt, dass ich es solange versuche bis es funktioniert!!

tictactux
09.11.04, 18:15
Der genannte User debian-sys-maint ist ein mysql-user (kein
Linux-System-User). Kurzgefaßt: prüfe ob Deine /etc/mysql/debian.conf
existiert, so aussieht (password kann abweichen):


# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = debian-sys-maint
password = csdDSV88zr74CXV

Die log-Datei sagt :
> WARNING: /etc/mysql/my.cnf cannot be read. See README.Debian.
Gibt es die my.cnf ? Falls nicht Installation wiederholen, oder
eine Vorlagen aus /usr/share/doc/mysql-server/examples/my-small.cnf
als my.cnf dahinkopieren (und editieren).

Aus dem Log ist mir nicht klar, ob die Dateien in /var/lib/mysql/mysql/
nicht existieren, oder mangels Rechten nicht gelesen werden können.
Da ich mich mit mysql nicht detailliert auskenne, nur eine Idee:

- schau als root nach ob die im log genannten Dateien (user.frm)
in dem o.g. mysql-Systemverzeichnis vorhanden sind, und
Owner/Group mysq.mysql ist. Ansonsten Neuinstallation.

hth
Wolfgang

fubar
30.01.08, 11:44
Hallo,
ich habe o.g. versehentlich geloescht/ueberschrieben. Die Datei /etc/mysql/debian.cnf ist vorhanden und der User eingetragen. Bei einem SELECT auf die Benutzertabelle, ist er nicht aufzufinden.

Natuerlich habe ich jetzt Effekte und Probleme die ohne diesen User entstehen.

Wie kann ich diesen User wieder erstellen?



mysql> grant all privileges on * to debian-sys-maint@localhost with grant option;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-sys-maint@localhost with grant option' at line 1


Danke Peter

fubar
30.01.08, 11:50
hi nochmal,
der User hat ein "using password: YES"...

anlegen mit identified by "Passwort" geht

MiGo
30.01.08, 12:05
mysql> grant all privileges on * to debian-sys-maint@localhost with grant option;
er stört sich an dem "-" im Namen. Escape das mal korrekt:

grant all privileges on * to `debian-sys-maint`@`localhost` with grant option;
Dann geht das auch :)