Konfiguracja MySQL w konsoli

Dawno nie pisałem, trzeba by czymś kogoś podrażnić;)

Wczoraj postanowiłem wykorzystać hosting jaki daje mi znajomy na swoim serwerze. W tym wykorzystać MySQL w PHP. I wtedy zaczęły się schody. Ja nie miałem “konta” w MySQLu, a znajomy za słabo się w nim orientował. Dał mi więc hasło roota MySQL i poprosił bym tylko nie wyrzucił aktualnych baz. Chwile zajęło mi szukanie tego co tu krótko opiszę, więc wierze, że wpis się komuś przyda – komuś komu nie chce się szukać:).

Uruchamiamy MySQL dla roota:

mysql -u root -p

Hasło można też wpisać za “-p”, ale należy pamiętać, że będzie można je wtedy podejrzeć w /proc (no i w pliku historii poleceń powłoki). Oczywiście jak ktoś bawi się na swoim własnym kompie to nie musi się bać, ale ja będę pisał w miarę tak jak powinno się to robić.

Jesteśmy w środku, lista baz jakie istnieją wylistuje polecenie: show databases;

Lista użytkowników, to już SQLem (tutaj możemy mieć problem z wyświetleniem całości informacji w okienku konsoli, wiec wypisujemy tylko te które coś na razie mówią):

SELECT user, host, password FROM mysql.user;

My chcemy dodać nowego użytkownika, oraz dać mu ful praw do nowej bazy danych. Dodajemy usera (login: sigvatr):

CREATE USER 'sigvatr'@'localhost';

Localhost, bo i tak na tym samym kompie będą wykonywane skrypty PHP. Tak powstały użytkownik nie ma hasła – czemu?:) bo jest tutaj nieco z tym zabawy – trzeba podać hash kod wygenerowany przez funkcje PASSWORD(). Do tej pory jeszcze nie znalazłem, jak bezpiecznie (tzn nie widocznie) zmieniać czy nadawać hasła – poniżej będzie o tym, jak hasła zmienić.

Dodanie nowej bazy (o nazwie sigvatrDB):

CREATE DATABASE sigvatrDB;

Uprawnienia (wszystkie dla użytkownika sigvatr, dla bazy sigvatrDB):

GRANT ALL ON sigvatrDB.* TO 'sigvatr'@'localhost';

Ok, powinno być dobrze – SHOW GRANTS dla pewności:)

Jeszcze o zmianie hasła słów kilka – trzeba mieć uprawnienia do edycji tabeli mysql.user, więc albo nadajemy je nowemu użytkownikowi, albo jak root wklepujemy:

update mysql.user set password=password('|\|13Uf4jNik0mU!') where user='sigvatr';

Po zmianie hasła trzeba przeładować ustawienia:

flush privileges;

Teraz nowy użytkownik może się logować z hasłem. Ale to już w PHP;)

mysql_connect('localhost', 'sigvatr', '|\|13Uf4jNik0mU!');

Pozdrawiam.

PS.:
Dla tych którzy chcą więcej, lub nie lubią gotowców:

“Religia jest opium dla mas” – dywagacje nad serialem Battlestar Galactica

To tak bardzo znane zdanie Marks, jakoś wcześniej nie dotarło do mnie tak silnie, jak podczas oglądania odcinku “Farma” w drugim sezonie wymienionego w tytule serialu. To, że w przyszłości istnieje wiara we “Władców Kobolu” – będących w istocie postaciami z Greckiego Panteonu, to jeszcze rozumiem, ale nie jestem w stanie zrozumieć, że dwunastu przedstawicieli ludu – swoistego rodzaju rząd – uwierzyło na słowo pani prezydent Roslin i obwołał ją Mesjaszem, witając na klęczkach… A 1/3 floty podążyła za Panią Prezydent na planetę na której pozostanie aż prosi się o wizytę Cylonów.

A skoro już o Cylonach… pomysł, że AI zwariowała na punkcie religii też jest… odważny – to w sumie pojawiło się w pewnym opowiadaniu – Dicka chyba, ale nie dam głowy – tyle, że tam był przynajmniej jakoś to uzasadniono. No ale jeszcze 2 sezony przed mną, może rzucą nieco światła.

Tak więc, nie Marks, nie Rydzyk i jego poplecznicy, a amerykański serial – w sumie co się dziwie;P

Zapewne pokuszę się kiedyś o recenzję całego serialu, jak skończę go oglądać.

ps.: nie spojlerować mi tu:)