View previous topic :: View next topic |
Author |
Message |
benjamin200 Veteran


Joined: 01 Feb 2004 Posts: 1426 Location: DE Munich
|
Posted: Mon Mar 15, 2004 5:00 pm Post subject: Mysql - Datenbank Password für Root überschreiben |
|
|
Ich hatte bis vor kurzem Mysql am laufen und konnte über phpmyadmin darauf zugreifen. Über das WEB Interface habe ich die Usergelöscht und kann nun natürlich nicht mehr auf SQL Zugreifen.
Um wieder Access zu erhalten habe ich mysql mit emerge --unmerge mysql vom system entfern und schließlich noch das /etc/mysql Verzeichnis entfernt. Nach dem ich mysql neu installiert hatte besteht das Problem weiterhin. Die User sind weg. Ich bekomme kein Zugriff auf Mysql.
Als Standard waren dort 4 User definiert. Wie kann ich diese wiederherstellen. Selbst unter root habe ich keinen Zugriff auf MYSQL. Ich kann den Dienst nur starten. HILFEEE
Last edited by benjamin200 on Sat Nov 20, 2004 4:38 pm; edited 3 times in total |
|
Back to top |
|
 |
tex n00b

Joined: 18 Feb 2003 Posts: 60
|
Posted: Mon Mar 15, 2004 5:04 pm Post subject: |
|
|
Hi,
bin mir nicht 100% sicher, aber ich habe in Erinnerung, dass man mit mysql_install_db die mysql Datenbank wieder herstellen kann. Es ist dann wieder ein User root vorhanden, ohne Passwort.
Gruß
Tex |
|
Back to top |
|
 |
psyqil Advocate


Joined: 26 May 2003 Posts: 2767
|
Posted: Mon Mar 15, 2004 5:04 pm Post subject: |
|
|
Ich hab wenig Ahnung von MySQL, aber wenn ich mal wieder was verbockt hab, lösch ich immer /var/lib/mysql und fang von vorne an... |
|
Back to top |
|
 |
NueX Apprentice


Joined: 19 Jun 2003 Posts: 196 Location: Germany
|
Posted: Mon Mar 15, 2004 5:29 pm Post subject: |
|
|
Hach, wie bekannt mir das vorkommt. Hab auch mal über phpmyadmin die user-Datenbank gelöscht. Die sind aber auch leichtsinnig, dass da nicht einmal ein Sicherheitshinweis kommt
Ich hab jedenfalls kein Möglichkeit gefunden, dass wieder herzustellen. War aber (zum Glück) auch weiter nicht schlimm, ich hab nochmal von vorne angefangen. Aus solchen Fehlern lernt man!
Gruß, NueX |
|
Back to top |
|
 |
benjamin200 Veteran


Joined: 01 Feb 2004 Posts: 1426 Location: DE Munich
|
Posted: Mon Mar 15, 2004 5:42 pm Post subject: |
|
|
Leider konnte ich mit mysql_install_db und durch das löschen von /var/lib/mysql kein positives Ergebnis erziehlen. Trotzdem habe ich es geschaft die User wieder herzustellen.
Code: |
/var/db/pkg/dev-db/mysql-4.0.18/mysql-4.0.18.ebuild config
/etc/init.d/mysql restart
|
Gruß,
Benjamin |
|
Back to top |
|
 |
pablo_supertux Advocate


Joined: 25 Jan 2004 Posts: 2961 Location: Somewhere between reality and Middle-Earth and in Freiburg (Germany)
|
Posted: Mon Mar 15, 2004 6:46 pm Post subject: |
|
|
Finde die Dateien .MYD .MYI .frm im order mysql. Sie haben die Benutzer gespeichert. Normmalerweise unter /var/mysql
Mit mysql_install_db kannst du die neue Datenbanken erstellen mit benutzer root.
Dann
Code: |
# mysqladmin -u root password [i]dein Passwort[/i]
|
Und fertig, so kannst du dich anmelden
_________________ A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth! |
|
Back to top |
|
 |
ian! Bodhisattva


Joined: 25 Feb 2003 Posts: 3829 Location: Essen, Germany
|
Posted: Mon Mar 15, 2004 6:58 pm Post subject: |
|
|
Leute, ihr macht komische Sachen.
Richtig (so steht es auch im Handbuch) ist es so:
1.) Dienst stoppen.
2.) mysqld mit der Option --skip-grant-tables starten
3.) Passwort wie bei Installation setzen (mysqladmin -u root password '<Passwort>')
4.) Privilegien laden: mysqladmin -h <Hostname> flush-privileges
Nun kann man sich an die Datenbank anmelden.
--ian! _________________ "To have a successful open source project, you need to be at least somewhat successful at getting along with people." -- Daniel Robbins |
|
Back to top |
|
 |
benjamin200 Veteran


Joined: 01 Feb 2004 Posts: 1426 Location: DE Munich
|
Posted: Sat Nov 20, 2004 4:36 pm Post subject: |
|
|
Hallo Leute,
hab mir nun ein nettes Buch zum Thema MySQL benutzt. Dort wird unter anderem auch auf den Fall der Fälle eingegangen - was ist wenn das root Passwort vergessen wurde?
Trotz der detaillierten Anweisung von "jan" bekomme ich es einfach nicht hin. Hab das Passwort zwar nicht vergessen, möchte jetzt aber mal endlich rausbekommen wie man das PW zurücksetzt. Aussperren möchte ich mich nämlich nicht
jan! schrieb:
Quote: |
Richtig (so steht es auch im Handbuch) ist es so:
1.) Dienst stoppen.
2.) mysqld mit der Option --skip-grant-tables starten
3.) Passwort wie bei Installation setzen (mysqladmin -u root password '<Passwort>')
4.) Privilegien laden: mysqladmin -h <Hostname> flush-privileges
Nun kann man sich an die Datenbank anmelden.
--ian!
|
So habe ich es versucht:
Code: |
bash-2.05b# mysqld --skip-grant-tables
041120 17:28:22 Can't start server: Bind on TCP/IP port: Address already in use
041120 17:28:22 Do you already have another mysqld server running on port: 3306?
041120 17:28:22 Aborting
041120 17:28:22 mysqld: Shutdown Complete
bash-2.05b# mysqld --skip-grant-tables
041120 17:28:30 Can't start server: Bind on TCP/IP port: Address already in use
041120 17:28:30 Do you already have another mysqld server running on port: 3306?
041120 17:28:30 Aborting
041120 17:28:30 mysqld: Shutdown Complete
bash-2.05b# mysqladmin shutdown
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user: 'root@localhost' (Using password: NO)'
bash-2.05b# mysqladmin shutdown -p
Enter password:
bash-2.05b# mysqld --skip-grant-tables
use mysql;
update user set password = test whee user = root;
exit
exit
exit;
|
Wie man am den dreifachen exit versuchen sieht, komme ich nicht mehr aus der Konsole raus um anschließend "mysqladmin reload" auszuführen. Irgenwas mach ich falsch. Kann mir jemand weiterhelfen? Achja, aktuell läuft bei mir mysql in Version
Gruß
Benjamin _________________ Gentoo Linux Stage1 / Kernel 2.6.18
AMD Athlon64 3500+ on Asus A8N-E / 1024 MB DDR-RAM / ATI X700 PCIe
Take LINUX and forget Blue Screens |
|
Back to top |
|
 |
legine Guru

Joined: 27 May 2004 Posts: 555 Location: Germany
|
Posted: Sun Jan 09, 2005 12:03 pm Post subject: |
|
|
Hmpf,
Im gegensatz zu benjamin200 hab ich alle passwörter samt eingerichteten user vergessen.
Naja nicht so schlimm.
benjamin200 wrote: |
bash-2.05b# mysqld --skip-grant-tables
041120 17:28:22 Can't start server: Bind on TCP/IP port: Address already in use
041120 17:28:22 Do you already have another mysqld server running on port: 3306?
041120 17:28:22 Aborting
|
Sieht so aus als würde eine Mysql instance laufen?!
probier mal:
Code: |
bash # /etc/init.d/mysql stop
oder
bash # mysqladmin shutdown
oder ganz brutal
killall mysql (bzw. das was ps sagt :) )
|
nun ja und danach nochmal mit ian!s methode starten.
Code: |
bash # mysql --skip-grant-tables &
|
WICHTIG Wenn man in der selben shell weiterarbeiten möchte das & anhöngen. damit wird der prozess in den hintergrund geladen, wärend man im vordergrund weiterarbeitet
Ansonsten ne neue shell aufmachen
Dannach müsste der mysql server wieder starten und lässt sich auch bedienen bis auf die tatsache das root die privelegien fehlen passwörter zu ändern
eigentlich irgendwie logisch. Aber wenn man jetzt den sql server herunterfährt mit:
Code: | bash # mysqladmin shutdown |
und wieder regulär startet z.B,. mit mysql sind die eigenschaften immer noch da...
genauer schmeißt msql folgendes:
Irgendwelche ideen?
P.S.: sorry für die ausführlichkeit , aber für alle lieber alle Möglichkeiten die mir einfallen mal hingeschrieben.
____________________________________________________________________
EDIT:
AHA:
Ich komm hinein. Anscheinend wird der rechner name gesetzt also wenns mit
Code: | bash # mysql -u root
ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO)
|
man nicht hineinkommt. dann es mal mit:
Code: |
bash # mysql -u root@Rechnername
|
oder
Code: |
bash # mysql -u root@localhost
|
probieren. |
|
Back to top |
|
 |
Dr_Pepper Tux's lil' helper


Joined: 30 Jul 2004 Posts: 96 Location: /earth/europe/de/bawue/karlsruh'
|
|
Back to top |
|
 |
|