Avatar billede oasen Nybegynder
10. februar 2003 - 17:08 Der er 19 kommentarer og
2 løsninger

Tildel password til root user

Jeg prøver at gå i kommandopromt og skrive:

C:\mysql\bin>mysqld

Herefter forsøger jeg at sætte et password til root user:

mysqladmin -u root password 'mit_password'

Så langt så godt. Jeg prøver så at ændre passwordet for at se om det faktisk er blevet registreret:

mysqladmin -u root -p password 'mit_nye_password'

Herefter bliver jeg bedt om at indtaste det eksisterende, som jeg lige har tildelt root user.
Men når jeg gør det, får jeg fejlen:
Access denied for user 'root@localhost' Using password YES

Kan nogen hjælpe mig videre? Jeg giver gerne flere points.
Avatar billede miraculix Nybegynder
10. februar 2003 - 22:56 #1
De plinger du skriver ovenfor rundt om mit_password, hvis du brugte dem da du skiftede passwordet, så er de en del af det nye password.
Avatar billede dsj Nybegynder
10. februar 2003 - 23:51 #2
du logger ind på mysql-serveren med:
shell> mysql

Skriver:
mysql> use mysql

Skriver:
UPDATE user SET Host='localhost', Password=PASSWORD('dinKode') WHERE User='root';

Det virker.
Avatar billede miraculix Nybegynder
11. februar 2003 - 09:34 #3
dsj >> kan han også bruge det trick, når han ikke kan logge ind som root?
Avatar billede dsj Nybegynder
11. februar 2003 - 10:27 #4
Ja, måske. Det kunne jo være at root har adgang fra localhost UDEN brug af password.
Avatar billede dsj Nybegynder
11. februar 2003 - 10:28 #5
Har du i øvrigt husket at flushe privilegierne efter du lavede ændringerne? Ellers er det stadig de gamle der har effekt. Hvis du genstarter mysql-serveren bliver privilegierne flushed.
Avatar billede oasen Nybegynder
11. februar 2003 - 11:55 #6
Jeg synes der er noget helt galt. Når jeg flusher eller reloader får jeg fejl både med og uden semikolon.
Nu er jeg nået så langt som til at kunne oprette brugere og databaser. Men databasen kan tilgås alle uanset hvilke privilegier, jeg giver dem. Og den starter ikke med "test".
Problemet er sikkert at jeg ikke får lov at flushe/reloade.

Ved installationen indtastede vi brugernavn/password i winmysqladmin. Med disse oplysninger kan vi godt logge ind. Men det er måske bare den bruger, der kaldes root?

Jeg har købt bogen MySQL Visual Quickstart Guide, og der står, at der SKAL være plinger omkring passwordet...!?
Avatar billede miraculix Nybegynder
11. februar 2003 - 12:16 #7
dsj >> fejlmedd lød: "Access denied for user 'root@localhost' Using password YES" Der stod explicit @localhost, men man skal selvfølgelig passe på med at tage fejlmedd. alt for bogstaveligt, så din idé var ikke helt dum.

oasen>> Da ikke når man bruger mysqladmin.

Du skal sætte plinger om passwordet når du opdaterer direkte i user tabellen i mysql databasen, men ikke når du bruger mysqladmin fra prompten. (Jeg testede det faktisk igår på min egen mysql, da jeg så din post, så jeg er ret sikker i min sag ;-) )

I øvrigt mener jeg bestemt at du kun behøver flushe, når du retter adgang direkte i mysql-databasen, og ikke når du bruger mysqladmin, men det har jeg ikke testet fornylig.

Men sluttelig lyder det jo som om at du har fået adgang. Så er det bare at tage et kig i de forskellige tabeller i databasen mysql og se hvad der ligger.
Avatar billede oasen Nybegynder
11. februar 2003 - 15:26 #8
Jeg kan sagtens finde ud af at administrere databasen. Problemet ligger i brugerens rettigheder. F.eks. ville jeg gerne kunne komme i kontakt med databasen fra et andet sted. Defor brugte jeg kommandoen i mysqlmonitor:

GRANT ALL ON databasenavn.* TO mitnavn@minipadresse IDENTIFIED BY 'mitpassword'

Den skrev også ok, og lokalt kan jeg logge ind, men ikke fra den eksterne pc, hvor der er installeret mySQLfront.

Den kommando, som dsj skriver, skal angives inde i mysqlmonitor, ikke?

Jeg skriver lidt senere - håber du gider hænge på...
Avatar billede oasen Nybegynder
11. februar 2003 - 15:35 #9
Hmm... det du siger er altså, at jeg slet ikke skal bruge singlequotes, når jeg er inde i mysqlmonitor?
Avatar billede dsj Nybegynder
11. februar 2003 - 15:47 #10
Det jeg skrev, skal skrives i mysql-klienten, som startes ved at skrive

shell> mysql
Avatar billede oasen Nybegynder
11. februar 2003 - 15:54 #11
Det har jeg slet ikke prøvet. Det skriver jeg i kommandopromt eller hvad? mysql-klienten = mysql-monitor ?
Avatar billede oasen Nybegynder
11. februar 2003 - 15:55 #12
En anden sagde, jeg skulle gøre sådan.

mysql -u root -p mysql
set password=PASSWORD('nytpassword') where user='root'
flush privileges;

Og nu er jeg snart lidt forvirret...
Avatar billede dsj Nybegynder
11. februar 2003 - 16:00 #13
Du kan også gøre som jeg har skrevet, spørgsmålet er bare, om du får lov at komme ind med mysql-klienten. Jeg ved ikke lige hvad mysql-monitor er, men du skriver bare "mysql" i kommandoprompten (= shell>)
Avatar billede oasen Nybegynder
11. februar 2003 - 16:07 #14
Hvis jeg anvender brugernavn og password, der står i my.ini kan jeg godt komme ind. Jeg vender lige tilbage snart ;)
Avatar billede oasen Nybegynder
12. februar 2003 - 00:18 #15
mysql-monitor er det samme som mysql-klienten, fandt jeg ud af.
Jeg fik opdateret passwordet til root nu. Men det er som om, ændringerne blive registreret - men alligevel ikke.
Man kan stadig få kontakt med databasen ved localhost, selvom brugeren er fjernet. Man kan også få kontakt uden at angive brugernavn og password, selvom root skulle have password nu. Men man kan ikke få kontakt udefra via MySQLfront!

Jeg er helt på Herrens mark lige nu...!?
Avatar billede dsj Nybegynder
12. februar 2003 - 03:10 #16
Har du husket at flushe???

mysql> flush privileges;

Du kan også gøre det ved at genstarte mysql-serveren.
Avatar billede oasen Nybegynder
12. februar 2003 - 12:05 #17
Jeg har flushet, men nu fandt jeg imidlertid ud af, at man kan administrere alle brugere i MySQLfront, hvilket jeg ikke var opmærksom på. Og der kunne jeg se, at der var 3 root-users, hvoraf den ene havde blankt password.
Men jeg prøver at geninstallere det hele, slette to af root-users'ne og oprette en ny.
Det skulle gerne virke, men jeg har da lige et sidste spørgsmål.

Hvis jeg vil komme i kontakt med MySQL fra en ekstern computer via MySQLfront, skal jeg bare angive host-name til denne computers IPadresse, ik'?
Avatar billede oasen Nybegynder
12. februar 2003 - 12:17 #18
Sådan ser det ud efter jeg har tildelt root et password. Der er stadig 3 andre uden password!


localhost________root________et-password
%________________root________
localhost____________________
%____________________________
Avatar billede dsj Nybegynder
12. februar 2003 - 12:22 #19
Jo, ip-adressen skulle være nok. MySQLfront skulle gerne vide, at MySQL kører på port 3306 :)
Avatar billede oasen Nybegynder
12. februar 2003 - 13:41 #20
Den står også til 3306 som default.
Jeg vil prøve - vender tilbage...
Avatar billede oasen Nybegynder
24. februar 2003 - 22:47 #21
Det virker nu. Tak!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester