[ MySQL ] Root heeft geen rechten op tabel users

Pagina: 1
Acties:
  • 241 views sinds 30-01-2008
  • Reageer

  • winand
  • Registratie: April 2000
  • Laatst online: 26-08 08:37
Vraag me niet hoe het kan, maar volgens mij heeft mijn root user geen rechten meer op de users tabel van mysql!
Inloggen als root kan ik wel, maar SELECT * FROM USERS geeft een error
"access denied for user 'root@localhost' to database 'mysql'"

Wat nu :?

Hoe krijg ik weer rechten tot die tabel :?

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

aantal mogelijkheden

Je draait niet je eigen database server, maar geshared. Gok niet dat dat het is :)

Je probeert via phpMyAdmin in te loggen op een database die geen control-lists heeft.

Probeer je usertabel eens te kopieren van de 1e databaseserver naar de andere

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • winand
  • Registratie: April 2000
  • Laatst online: 26-08 08:37
Hoe kan ik dat doen !?

situatie: Ik ben ingelogd als root op de server zelf, draait onder RedHat Linux 7.2

Kan ik via de command-line een tabel kopieren / wijzigen ?

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

winand:
Hoe kan ik dat doen !?

situatie: Ik ben ingelogd als root op de server zelf, draait onder RedHat Linux 7.2

Kan ik via de command-line een tabel kopieren / wijzigen ?
doe ff
locate -u
locate user.MYI

dan zie je als 't goed is dat bestand staan in de directory waar mysql zijn databases bewaart.

Probeer dan eventjes van een andere mysql database (bijvoorbeeld offline op je windows bak?) de user.* bestanden uit de mysql/data directory te uploaden naar dat plekkie...

Maar daar moet je wel mee oppassen als je ook andere users nog in die database hebt, 't wordt dan een tikkie lastiger. Ik heb het zelf ook nog nooit geprobeerd, maar tijdje terug gaf iemand ong. dezelfde tip...

Misschien is er nog een veiligere manier om gewoon je root password te setten?

* drm not sure of dit de oplossing is, namelijk

edit:
wellicht ten overvloede: maak wel backups :)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • winand
  • Registratie: April 2000
  • Laatst online: 26-08 08:37
> Misschien is er nog een veiligere manier om gewoon je
> root password te setten?


Hmm, ik ben mijn password toch niet kwijt?
Of worden daarmee ook de privileges opnieuw gereset?

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

winand:
Hmm, ik ben mijn password toch niet kwijt?
Je hebt gelijk, sorry |:(

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • winand
  • Registratie: April 2000
  • Laatst online: 26-08 08:37
Ik heb gezocht in de documentatie van MySQL:

Ik, ingelogd als root, zou de mysql server moeten stoppen met:

# mysqladmin shutdown

en vervolgens:

# mysqld --skip-grant-tables

Dit start de mysqlserver weer met alle rechten voor alle users, zodat ik ze weer kan aanpassen.

Ik kan alleen het progje mysqld niet locaten!
Waar vind ik het (RedHat Linux 7.2) :?

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Tabel USERS bestaat waarsch ook helemaal niet :?

Als je met mysql -u root -p mysql
niet in kan loggen heb je iig wel een vrij groot probleem ;)

mysqld is te vinden via:
rpm -ql mysql | grep mysqld

  • winand
  • Registratie: April 2000
  • Laatst online: 26-08 08:37
Ik kan mysqld toch niet vinden hoor..

safe_mysqld wel, wat is dit dan? die kan ik wel starten.

  • Grum
  • Registratie: Juni 2001
  • Niet online
Dat is de goede en dit is software algemeen :+

  • igmar
  • Registratie: April 2000
  • Laatst online: 23-08 16:57

igmar

ISO20022

Op donderdag 06 juni 2002 17:09 schreef winand het volgende:
Ik kan alleen het progje mysqld niet locaten!
Waar vind ik het (RedHat Linux 7.2) :?
/usr/libexec/mysql

  • winand
  • Registratie: April 2000
  • Laatst online: 26-08 08:37
mysqld bedoel je waarschijnlijk.
Die staat inderdaad daar. maar als ik mysqld probeer te starten (zonder params) krijg ik:

bash: mysqld: command not found

:?

  • DRvDijk
  • Registratie: Juni 2001
  • Laatst online: 12-02 15:52
ECHT SA :P Try ./mysqld

Goed.. ff denken: RedHat.. Dan kun je vást ook wel /etc/init.d/mysqld -restart doen..

  • winand
  • Registratie: April 2000
  • Laatst online: 26-08 08:37
No way, dit lukt echt niet:
beide mogelijkheden geven:
bash: mysqld: command not found

  • winand
  • Registratie: April 2000
  • Laatst online: 26-08 08:37
Okay, het IS GELUKT !! *D *D
Gelukkig maar, ik ben nu heel wat zweet lichter.

1) Ik heb met 'ps -A | grep mysql' de lopende processen van mysql opgevraagd. Dit waren er bij mij 5, waarvan een 'safe_mysqld'

2) Heb gekillt het 'safe_mysqld' process met 'kill -9 <pid>'

3) Gekillt een van de overige 4 mysql processen met 'kill -9 <pid>'

4) De 5 processen van mysql zijn uit de lucht (check effe) met stap 1

5) Ik heb de MySQL-server gestart met:
'safe_mysqld --skip-grant-tables' .Nu hebben ALLE gebruikers, ALLE rechten op ALLE databases en kon ik snel de gewenste rechten instellen.

6) Stap 1..4 uitgevoerd en de MySQL server weer gestart met 'safe_mysqld'
Pagina: 1