Avatar billede jakand Nybegynder
13. oktober 2005 - 10:16 Der er 13 kommentarer og
1 løsning

Ændre kodeord via kommandolinie

Hej,
kan det lade sige gøre at ændre adgangskoden for en enkelt MySQL-bruger vha. kommandolinien?
Avatar billede xyborx Nybegynder
13. oktober 2005 - 10:18 #1
set password for bruger@hostnavn=password('NytPassword');

Eller:

update mysql.user set password=password('NytPassword') where user='bruger' and host='hostnavn';
flush privileges;
Avatar billede jakand Nybegynder
13. oktober 2005 - 10:19 #2
Jeg skal måske lige tilføje at det skal køres fra et script - så det vil være rart hvis man kan gøre det automatisk, uden at der bliver spurgt om password osv.
Avatar billede jakand Nybegynder
13. oktober 2005 - 10:25 #3
xyborx, det ligner normal SQL?
Jeg tænkte på om man kan gøre direkte fra linux konsollen
Avatar billede mahler Nybegynder
13. oktober 2005 - 10:31 #4
mysqladmin -u <brugernavn> -p <eksisterendepassword> password <nyt password>
Avatar billede ttopholm Nybegynder
13. oktober 2005 - 10:33 #5
mysqladmin -u bruger password nytkodeord
Avatar billede jakand Nybegynder
13. oktober 2005 - 10:40 #6
mahler:
Den spørger efter et kodeord, og når Jeg har indtastet det, skriver den Unknown Command: '<brugernavn>'
Det virker altså som at den ignorerer det der står efter -p!

ttopholm:
den giver:
error: 'Access denied for user '<bruger>'@'localhost' (using password: NO)'
Avatar billede xyborx Nybegynder
13. oktober 2005 - 10:40 #7
Ah, på den måde. Så kan det f.eks. gøres sådan:
echo "set password for bruger@hostnavn=password('NytPassword');"|mysql -p

Men mysqladmin som andre har nævnt er nok mere velegnet til formålet. Men hvad gør man så hvis man ikke på forhånd kender brugerens password?
Avatar billede xyborx Nybegynder
13. oktober 2005 - 10:43 #8
For at undgå at blive spurgt om root password kan du skrive det ind i /root/.my.cnf
[client]
user="root"
password="DitPassword"
database="DatabasenDerArbejdesI"
Avatar billede mahler Nybegynder
13. oktober 2005 - 10:44 #9
> Den spørger efter et kodeord, og når Jeg har indtastet det, skriver den Unknown Command: > '<brugernavn>'. Det virker altså som at den ignorerer det der står efter -p!

<brugernavn> og <password> skal du lige udskifte med de respektive værdier...

f.eks.:
mysqladmin -u www-user -p eksisterende_pwd password nyt_password

I ovenstående hedder brugeren "www-user" og passwordet er "eksisterende_pwd".
Det nye password sætttes til "nyt_password".
Avatar billede ttopholm Nybegynder
13. oktober 2005 - 10:46 #10
du skal se på mahlers.. det er den der virker
Avatar billede jakand Nybegynder
13. oktober 2005 - 10:51 #11
xyborx:
prøver det.

mahler:
Jeg har udskiftet det, jeg ville bare ikke lige poste min bruger/adgangskode her ;)
Det er som om den ignorer det efter -p.
Mysql versionen er 4.1.7, ved ikke om det har betydning?
Avatar billede jakand Nybegynder
13. oktober 2005 - 10:58 #12
Mahler, her er hvad jeg skriver:
bruger er udskiftet med foo, password er udskiftet med bar, nypassword med ost:

mysqladmin -u foo -p bar password ost

Den beder efter password og siger derefter:
mysqladmin: Unknown command: bar
Avatar billede mahler Nybegynder
13. oktober 2005 - 11:06 #13
hmm...

Prøv evnetuelt at udskifte -p med:

--password=<password>
Avatar billede jakand Nybegynder
13. oktober 2005 - 11:17 #14
--password=<password> virker perfekt, tusind tak :D
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