Mysql-Server neu aufgesetzt - trotzdem fehler

sim4000

sim4000

Lebende Foren Legende
Nabend.

Ich hab mal ein wenig zu viel mit meinem Mysql-Server gespielt, und aus versehen die datenbank mysql gelöscht. :brav: Ergo hab ich jetzt keine Rechte mehr auf den Server.

Nun hab ich den Server komplett gekillt und neu aufgesetzt.
Bringt aber nix. Kommt immer noch
Code:
sim1:/home/sim4000/Desktop/karamba # rcmysql start
Starting service MySQL                                                failed

Kann mir mal jemand sagen, wo die Daten für die Datenbanken liegen? Das ich die löschen oder durch einen Backup ersetzen kann. whereis hat nichts gebracht.

Mfg, sim4000.
 
Das Verzeichnis existiert bei mir nicht. Und was verändert hab ich auch nicht. Alles neu aufgesetzt.

Einige Daten schrieb:
SuSE Linux 10.1
Mysql 5.0.18

Mfg, sim4000.
 
Lumpi meint, Du sollst im Logfile (z.B. "grep mysql /var/log/*") mal schauen, wo Deine Datenbank-Files liegen. Das würde dann Deine Frage beantworten, welche Dateien Du wiederherstellen mußt.

Heiko
 
Im uebrigen kann man die Default-mysql-DB (also mit User root@localhost ohne Passwort drin) mit dem mysql_install_db-Skript aus den Sources wiederherstellen.
 
Lumpi meint, Du sollst im Logfile (z.B. "grep mysql /var/log/*") mal schauen, wo Deine Datenbank-Files liegen. Das würde dann Deine Frage beantworten, welche Dateien Du wiederherstellen mußt.

Heiko
Hallo,

So, meine ich das? *grins*

Ne ich meine, das "dieser" mysql-dämon seine Datenbak aus dem Verzeichnis
/var/mysql holt. ;)

Das Problem von Sim4000 ist, das der Dienst erst gar nicht startet.

Gruß Lumpi
 
Lumpi schrieb:
Das Problem von Sim4000 ist, das der Dienst erst gar nicht startet.
Bingo. Dadurch das ich die db mysql gelöscht habe, hab ich mich erst ausgesperrt, und dann hat sich der Server aus sicherheitsgründen gesperrt. und solang ich nicht die Dateien wo die Daten zu den Datenbanken finde kann ich den Server so oft weider aufsetzen wie ich will. Bringt nichts.
Aber ich schau mal in /var/log/ ob da was steht was hilft.

Mfg, sim4000.

//edit
Mysqld.log
Code:
060924 00:17:19  mysqld ended

060924 00:19:43  mysqld started
060924  0:19:47  InnoDB: Started; log sequence number 0 43655
060924  0:19:47 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.0.18'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  SUSE MySQL RPM
060924  2:36:22 [Note] /usr/sbin/mysqld: Normal shutdown

060924  2:36:22  InnoDB: Starting shutdown...
060924  2:36:24  InnoDB: Shutdown completed; log sequence number 0 43655
060924  2:36:24 [Note] /usr/sbin/mysqld: Shutdown complete

060924 02:36:25  mysqld ended

060924 13:24:08  mysqld started
060924 13:24:12  InnoDB: Started; log sequence number 0 43655
060924 13:24:12 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.0.18'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  SUSE MySQL RPM
060924 13:35:47 [Note] /usr/sbin/mysqld: Normal shutdown

060924 13:35:48  InnoDB: Starting shutdown...
060924 13:35:50  InnoDB: Shutdown completed; log sequence number 0 43655
060924 13:35:50 [Note] /usr/sbin/mysqld: Shutdown complete

060924 13:35:50  mysqld ended

060924 17:08:30  mysqld started
060924 17:08:34  InnoDB: Started; log sequence number 0 43655
060924 17:08:34 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.0.18'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  SUSE MySQL RPM
060924 17:10:50 [Note] /usr/sbin/mysqld: Normal shutdown

060924 17:10:50  InnoDB: Starting shutdown...
060924 17:10:52  InnoDB: Shutdown completed; log sequence number 0 43655
060924 17:10:52 [Note] /usr/sbin/mysqld: Shutdown complete

060924 17:10:53  mysqld ended

060924 18:49:25  mysqld started
060924 18:49:29  InnoDB: Started; log sequence number 0 43655
060924 18:49:29 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.0.18'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  SUSE MySQL RPM
060924 18:57:16 [Note] /usr/sbin/mysqld: Normal shutdown

060924 18:57:16  InnoDB: Starting shutdown...
060924 18:57:19  InnoDB: Shutdown completed; log sequence number 0 43655
060924 18:57:19 [Note] /usr/sbin/mysqld: Shutdown complete

060924 18:57:19  mysqld ended

060924 20:39:24  mysqld started
060924 20:39:27  InnoDB: Started; log sequence number 0 43655
060924 20:39:27 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.0.18'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  SUSE MySQL RPM
060924 21:45:20 [Note] /usr/sbin/mysqld: Normal shutdown

060924 21:45:21  InnoDB: Starting shutdown...
060924 21:45:25  mysqld ended

060924 22:30:10  mysqld started
060924 22:30:11  InnoDB: Started; log sequence number 0 43665
060924 22:30:11 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
060924 22:30:11  mysqld ended

060924 23:03:46  mysqld started
060924 23:03:47  InnoDB: Started; log sequence number 0 43665
060924 23:03:47 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
060924 23:03:47  mysqld ended

060925 00:53:18  mysqld started
060925  0:53:19  InnoDB: Started; log sequence number 0 43665
060925  0:53:19 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
060925 00:53:19  mysqld ended

060925 09:54:52  mysqld started
060925  9:54:53  InnoDB: Started; log sequence number 0 43665
060925  9:54:53 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
060925 09:54:53  mysqld ended
Er sagt das die Tabelle fehlt, aber leider nicht wo sie lag....
Mfg, sim4000.
 
Zuletzt bearbeitet:
Dazu muss er auch das datadir kennen, das im uebrigen der my.cnf zu entnehmen ist, die normalerweise unter /etc oder /etc/mysql liegt.
 
Hm, heimlich still und leise hat er den log in seinen letzten Beitrag rein-editiert ...

Ich find' da auch nix drin. Wenn Du die "normale" Datenbank-Engine von mysql verwendet hast, müßte ein
Code:
find / -name "*.MYI" -print
oder:
find / -name datenbankname -print
reichen, um eines der noch vorhandenen Datenbank-Files zu finden; Datenbanknamen sind bei mysql Verzeichnisse wo die Dateien für die Tabellen liegen.

Dort mußt Du dann das Verzeichnis mysql wiederherstellen.

Heiko
 
Dort mußt Du dann das Verzeichnis mysql wiederherstellen.
Hab ich getut. :)
Bringt aber nix. Kommt immer noch failed.

@theton
könntest du das mit dem install_script noch mal besser erleutern? Hab ich noch nicht ganz verstanden.

Desweiteren:
Die Daten müssen nicht überleben.
Ich möchte nur wieder einen funtionfähigen sql-server haben. Brauch ich in der Schule. Sonst muss ich wieder mit Windows arbeiten. ;(

Mfg, sim4000.
 
Du findest in den Sources von MySQL (solltest du einfach die gleiche Version bei dev.mysql.com downloaden, die du auch installiert hast) im Verzeichnis scripts eine Datei mysql_install_db. Dieses Skript kann genutzt werden um die beiden Default-Datenbanken mysql und test zu erstellen.
Code:
cd /mein/mysql/source/verzeichnis
scripts/mysql_install_db --user=<mysqluser> --dadadir=<mysql_datenverzeichnis>
Welches dein datadir ist, solltest du eigentlich der Datei /etc/mysql/my.cnf entnehmen koennen. Selbiges gilt fuer den User. Danach musst du einfach die DB neu starten und mit mysqladmin das root-Passwort neu setzen
Code:
mysqladmin -u root password 'meinrootpw'
und schon solltest du dich wieder einloggen koennen.
 
Code:
sim1:/etc # mysql_install_db
Installing all prepared tables
Fill help tables
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h sim1.BLECHNET password 'new-password'
See the manual for more instructions.

NOTE:  If you are upgrading from a MySQL <= 3.22.10 you should run
the /usr/bin/mysql_fix_privilege_tables. Otherwise you will not be
able to use the new GRANT command!

You can test the MySQL daemon with the benchmarks in the 'sql-bench' directory:
cd sql-bench ; perl run-all-tests

Please report any problems with the /usr/bin/mysqlbug script!

The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at https://order.mysql.com
sim1:/etc # rcmysql start
Starting service MySQL                                                failed

Klappt immer noch nicht. Das gibts doch nicht.
Mit deinem Beispiel klappt es nicht, da er "--dadadir" nicht kennt.

Mfg, sim4000.

//edit
Funzt. Hab die alten datenbanken aus /var/lib/mysql gelöscht, und dann das script ausgeführt.
Mal wieder ein herzliches Danke schön an theton und alle anderen die geholfen haben.
 
Zuletzt bearbeitet:
gut jetzt hat sichs erledigt.
komplettcrash fertig. Sagt mal wie kann man in der Konsole denn den zeilenumbruch ausschalten? Wenn ich
Code:
mysql> select * from user;
eingebe, dann kommen die Tabellen abgebrochen. Wie kann man das in der Konsole ausschalten?

Mfg, sim4000.
 
gut jetzt hat sichs erledigt.
komplettcrash fertig. Sagt mal wie kann man in der Konsole denn den zeilenumbruch ausschalten? Wenn ich
Code:
mysql> select * from user;
eingebe, dann kommen die Tabellen abgebrochen. Wie kann man das in der Konsole ausschalten?

Mfg, sim4000.
Indem du den passenden Pager deiner Wahl angibst ...

Code:
mysql> \P less
PAGER set to less
mysql>
Versuch es doch mal mit ...
Code:
mysql> help
... das hat mich auch schon viele Mal gehilft ... ;)
 
Code:
mysql> help
bringt zu diesem pager nichts. Nur wie man ihn an und ausschaltet.
Googlen hat auch nichts gebracht. Könnest du bitte mal etwas erläutern was es für pager gibt?

Mfg, sim4000.

//edit
Ein pager zeit die Daten doch nur Seitenweise.
Aber es soll doch nur der Zeilenumbruch unterdrückt werden.
 
Zuletzt bearbeitet:
Code:
mysql> help
bringt zu diesem pager nichts. Nur wie man ihn an und ausschaltet.
Googlen hat auch nichts gebracht. Könnest du bitte mal etwas erläutern was es für pager gibt?
Nee, mysql> help bringt zu dem Pager wirklich nix, da der Pager kein Bestandteil vom mysql-client ist, sondern ein externes Programm. Wenn du Infos über den Pager willst, dann mußt du schon die dazugehörende man-Page bemühen. less bringt in der default-config nix, aber mit der passenden Option, macht er genau das, was du möchtest und hat den Vorteil, daß du im Datensatz vor und zurück scrollen kannst.

Wenn du Google genutzt hast, dann solltest du das noch ein wenig üben.
http://www.google.de/search?q=pager+mysql&ie=UTF-8&oe=UTF-8

//edit
Ein pager zeit die Daten doch nur Seitenweise.
Aber es soll doch nur der Zeilenumbruch unterdrückt werden.
OK, ich denk mal für dich ... :think:

Also gaaannnz langsam und zum mitschreiben.
Wenn du beim Snooker den zu spielenden Ball nicht direkt anspielen kannst, hast du ein Problem. Beim myslq-Client ist es nicht möglich den Zeilenumbruch direkt zu verhindern.
Daraus folgt, und jetzt bin ich wieder beim Snooker, du mußt versuchen, dein Ziel über die Bande zu erreichen. Im vorliegenden Fall, mysql-Client, bleibt dir nichts anderes übrig, als ein externes Tool zu nutzen, um dein Ziel zu erreichen. Und genau hier kommt der Pager zum Einsatz.

Für alles Weitere: siehe oben ...
 
Nabend.

Also ich hab den Zeilenumbruch jetzt mit
Code:
mysql> pager less -S
wegbekommen. Nur wenn ich den Pager verlasse, dann verschwindet auch die Tabellenausgabe. Wie schaffe ich es, das sie dort stehen bleibt? Sonst bringen mir ja die abfragen nichts.

Mfg, sim4000.

//edit
Noch ne Frage: Kann man die einstellungen für Pager irgendwie speichern? Ich muss jetzt bei jedem start von mysql den pager neu einrichten.
 
[...] Nur wenn ich den Pager verlasse, dann verschwindet auch die Tabellenausgabe. Wie schaffe ich es, das sie dort stehen bleibt? Sonst bringen mir ja die abfragen nichts.
Mmh, ich kenne keine Möglichkeit. Evtl. kann dir hier jemand anders helfen.
Ich persönlich nutze, für solche Fälle, einfach mehrere Fenster (Screenshoot im Anhang ... falls es dich interessiert)

Noch ne Frage: Kann man die einstellungen für Pager irgendwie speichern? Ich muss jetzt bei jedem start von mysql den pager neu einrichten.
Das erreichst du, indem du die Optionen in deine .my.cnf einträgst. Wie das funktioniert, findest du hier
 

Anhänge

  • mysql_con.gif
    mysql_con.gif
    68,6 KB · Aufrufe: 9

Ähnliche Themen

Open-Xchange auf OpenSuse mit Commu. Installer - Compiler Fehler

Zurück
Oben