Re: Mysql adgang - hvordan?

From: per engelbrecht (none@per--xterm.dk.lh.bsd-dk.dk)
Date: Tue 27 Sep 2005 - 09:00:27 CEST


Date: Tue, 27 Sep 2005 09:00:27 +0200
From: per engelbrecht <none@per--xterm.dk.lh.bsd-dk.dk>
To: bsd-dk@bsd-dk.dk
Subject: Re: Mysql adgang - hvordan?

Benny Simonsen wrote:
> Phil Regnauld <none@regnauld--x0.dk.lh.bsd-dk.dk>
> wrote on Mon, 26 Sep 2005 20:01:20 +0200:
>
>
>>On Mon, Sep 26, 2005 at 07:49:22PM +0200, Benny Simonsen wrote:
>>
>>>Uden -p: Access uden password er ikke ok
>>>Med -p bliver mit spørgsmål så: Hvad er passwordet, eller hvordan gør
>>>jeg hvis jeg har ændret det til noget jeg ikke kan huske?
>>
>> Start mysqld med --skip-grant-tables.
>>
>> http://dev.mysql.com/doc/mysql/en/resetting-permissions.html
>>
>>
>>
>
>
> ... Nu er jeg så slåppet ind, kom godtnok i tanke om hvad passwordet
> kunne være inden jeg kom igennem dette.
>
> Nå men jeg har fået oprettet en database
>
> create database horde;
> use horde
>
> create table horde_prefs (
> pref_uid char(255) not null,
> pref_scope char(16) not null default '',
> pref_name char(32) not null,
> pref_value text,
> primary key (pref_uid, pref_scope, pref_name)
> );
>
> grant select, insert, update, delete on horde_prefs to hordemgr;
>
> SET PASSWORD FOR 'hordemgr'@'localhost' = PASSWORD('h');
                                                      ^^^^^
>
> Nu skulle man så tro at det blot var at logge ind med
> "mysql -u hordemgr -p horde", men det går ikke så godt:
> $ mysql -u hordemgr -p horde
                          ^^^^^

Du har defineret PASSWORD('h'); men vil logge ind med 'horde'.

> Enter password:
> ERROR 1045: Access denied for user: 'hordemgr@localhost' (Using password: YES)
> $
>
> Hvad kan der være gået galt?

Se ovenstaaende.

Hvis alt andet fejler, saa aaben din 'Vi' og skriv:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('whatever');
og gem saa filen som f.eks. /var/tmp/<name>
Inden du fortsaetter skal din db vaere lukket ned.

Derefter som root:
# mysqld_safe --init-file=/var/tmp/<name> &
Din mysql starter herefter op og bliver "tvangsfodret" med passwd for
root@localhost som vaerende 'whatever'.

Log saa ind som root:
# mysql -u root -p (ENTER)
password: (og her taster du saa 'whatever' uden '' og trykker ENTER)
mysql >

Herefter soerger du for at grante hvad grantes skal, faar slettet evt.
null-passwd accounts og faar som Soeren Hansen skriver, flushed priv.
Bingo.

En anden god ting:
mysql > DELETE FROM mysql.user WHERE User=' ' and Host=' ';
mysql > FLUSH PRIVILEGES;

mvh
/per
per@xterm.dk

>



This archive was generated by hypermail 2b30 : Wed 15 Nov 2006 - 18:24:52 CET