Monday, June 23, 2008

Jak stworzyć użytkownika i bazę dla niego - MySQL, Postgres

Zawsze miałem problem z bazami danych. Po instalacji nigdy nie pamiętam jak utworzyć użytkownika i bazę dla niego, tak żeby miał do niej wszelkie prawa, ale nie miał praw do innych baz. Poniżej krótki tutorial jak to zrobić:

MySQL

$ mysql -u root -p
Nie zawsze dodajemy to "-p" - tylko jeśli root ma hasło.

mysql> create user franek identified by 'haslo_frania';
Tworzymy użytkownika "franek", z hasłem "haslo_frania".

mysql> grant all on baza_frania.* to 'franek'@'%';
Znak '%' oznacza że nadajemy prawa użytkownikowi 'franek' niezależnie od tego skąd się połączy. Gdyby zamiast '%' było np. 'localhost' lub '192.168.1.22', znaczyłoby to że takie prawa ma franek tylko jeśli połączy się z tych hostów.

mysql> flush privileges;
mysql> quit

$ mysql -u franek -p
Znowu podłączamy się do serwera, ale teraz już jako użytkownik franek.

mysql> create database baza_frania;
Tworzymy bazę "baza_frania". Możemy w niej tworzyć tabele, zapisywać, zmieniać, generalnie robić wszystko.

PostgreSQL

$ sudo -u postgres psql
W ten sposób uruchamiamy klienta postgresa jako user "postgres". Jest to odpowiednik MySQLowego roota. Przez sudo robi się to na ubuntu, na innych systemach może być inaczej, generalnie chodzi o to żeby uruchomić "psql" jako użytkownik "postgres".

postgres=# create user franek password 'haslo_frania';
Tworzymy użytkownika franek z hasłem "haslo_frania".

postgres=# create database baza_frania owner franek;
W ten sposób utworzyliśmy bazę "baza_frania", której franek jest właścicielem, zatem ma do niej pełne prawa. 


Możemy też stworzyć schema dla użytkownika:
postgres=# create schema moja_schema;

Oraz sprawić, by ta schema była dla niego domyślną:
postgres=# alter user franek set search_path moja_schema;

postgres=# \q
Wychodzimy z narzędzia psql

$ psql -U franek -W -d baza_frania
I podłączamy się jako użytkownik "franek" do bazy "baza_frania". Czasami trzeba jeszcze dodać -h localhost żeby podłączyć się przez interfejs sieciowy, bo możliwość podłączenia się bezpośrednio do bazy często jest zablokowana.

To wszystko.
Pozdrawiam.

Monday, June 9, 2008

Google Gadget - meteo.pl

Witam,

Teraz się trochę pochwalę. Tylko trochę, bo to nie wielkie osiągnięcie, mi jednak się przydaje, może i Wam się przyda. Stworzyłem google gadget. Czyli takie coś co można sobie dodać do spersonalizowanej strony google. Gadget podaje prognozę pogody dla dowolnego miejsca w Europie, w formie wykresów i diagramów. Czyli widzimy dokładnie jaka jest przewidywana temperatura na dany moment, jak się zmienia itd. Zresztą, co ja się tu będę rozpisywał, zobaczcie sami.

Gadget pokazuje to samo co strona http://new.meteo.pl/index_coamps.php po wybraniu "meteogramy".

W konfiguracji gadgetu można wybrać miasto dla którego chcemy widzieć prognozę, lub wybrać "kolumna i wiersz" i wpisać współrzędne punktu z mapy dostępnej na stronie. Wtedy pokazywana będzie prognoza dla tego punktu.

Życzę przyjemnego używania :)

Hudson - user friendly CI tool

Hej,

Niedawno znalazłem bardzo fajne narzędzie do CI (continous integration). Jest nim Hudson, napisał je jeden Japończyk (nie wiem czy to ma znaczenie, ale jakoś czuję że jakieś tam chyba ma ;)).

Ma przyjemny interface i jest wygodny. Generalnie odnoszę wrażenie że wszystko jest bardzo przemyślane i nastawione właśnie na wygodę użytkowania. Można go odpalić przez wywołanie "java -jar hudson.war", a można wrzucić wara do tomcat/webapps i też działa.

Cała konfiguracja odbywa się przez przeglądarkę. Zapisywana jest w dosyć prostych plikach XML, więc jakby ktoś chciał sobie to zautomatyzować (np. wrzucanie 100 projektów i konfigurowanie każdego z osobna to niezbyt przyjemne zajęcie) to zawsze można wygenerować/zmodyfikować sobie XMLe jakimś skryptem (albo programem w javie ;)).

Są też różne różniste pluginy, ja na przykład używam pluginu do Cobertury.


Od niedawna jest to projekt Suna. Kohsuke pracuje w Sunie, zaczął Hudsona jako hobbystyczny projekt open source, ale stał się on na tyle popularny i dojrzały, że Sun przygarnął go pod swoje skrzydła i teraz Kohsuke pracuje nad nim w godzinach pracy, a nie w weekendy i po nocach :)