Dec 11 2009

MySQL tradycyjnie – tworzenie, aktualizacja, usuniecie usera

Dzisiaj druga czesc MySQL tradycyjnie, ostatnio zabraklo manipulacji uzytkownikami, wiec teraz wlasnie o tym.
Zalozmy, ze chcemy dodac nowego uzytkownika lonio i nadac mu prawa do bazy danych o nazwie lonio_db.

Ustanawiamy polaczenie

czlowiek@maszyna:~$ mysql -u root -p
Enter password:
...
mysql>

Tworzymy bazke lonio_db

mysql> CREATE DATABASE lonio_db;
Query OK, 1 row affected (0,02 sec)

Dodajemy uzytkownika lonio i nadajemy mu prawa do bazy lonio_db

mysql> CREATE USER 'lonio'@'localhost' IDENTIFIED BY 'haslo';
mysql> GRANT ALL PRIVILEGES ON lonio_db.* TO 'lonio'@'localhost'
    -> WITH GRANT OPTION;

Lonio juz istnieje i ma pelne prawa do swojej bazki.

Zmienmy mu teraz haslo

mysql> UPDATE mysql.user SET Password=PASSWORD('nowe-haslo') WHERE User='lonio';
mysql> FLUSH PRIVILEGES;

No i w koncu mozemy usunac lonia i jego bazke

mysql> DROP USER 'lonio'@'localhost';
mysql> DROP DATABASE lonio_db;

Wiecej informacji na temat zarzadzania uzytkownikami znajdziesz tutaj.


Oct 7 2009

MySQL tradycyjnie

Z oczywistych wzgledow nie udostepniamy polaczenia z baza danych poza maszyne lokalna, w zwiazku z tym manipulacja danymi, backup czy restore, “musi” odbywac sie z terminala.

Laczenie z baza

czlowiek@maszyna:~$ mysql --user=czlowiek --password=haslo baza_danych

Utworzenie bazy

mysql> create database baza1;

Zmiana aktywnej bazy danych

mysql> use baza1;

Utworzenie tabeli

mysql> create table osoba (
    -> id bigint auto_increment,
    -> imie varchar(255),
    -> nazwisko varchar(255),
    -> primary key (id)
    -> );

Wykonywanie standardowych zapytan

mysql> insert into osoba (imie, nazwisko) values ('Imie', 'Nazwisko');
mysql> select * from osoba;

Lista polecen

mysql> help

Utworzenie kopii zapasowej

czlowiek@maszyna:~$ mysqldump --user=czlowiek --password=haslo --databases baza1 --add-drop-table --add-drop-database > /tmp/backup_baza1.sql
czlowiek@maszyna:~$ mysqldump --user=czlowiek --password=haslo --databases baza1 --add-drop-table --add-drop-database | bzip2 -c > /tmp/backup_baza1.sql.bz2

Odtworzenie kopii zapasowej

czlowiek@maszyna:~$ cat /tmp/backup_baza1.sql | mysql --user=czlowiek --password=haslo baza1
czlowiek@maszyna:~$ bzcat /tmp/backup_baza1.sql.bz2 | mysql --user=czlowiek --password=haslo baza1

Oct 3 2009

Konfiguracja Apache, PHP, MySQL na Ubuntu

Dzisiaj, wpisik na temat konfiguracji Apache do wspolpracy z interperterem PHP i bazka MySQL. Dla poczatkujacych koderow PHP jak znalazl.

1. Instalujemy Apache

czlowiek@maszyna:~$ sudo apt-get install apache2

2. Testujemy Apache

czlowiek@maszyna:~$ wget -q http://localhost -O /tmp/atest && cat /tmp/atest

jak dostaniemy cos podobnego: <html><body><h1>It works!</h1></body></html> to serwer dziala.

3. Instalujemy PHP, moda do Apache i konektor do MySQL’a

czlowiek@maszyna:~$ sudo apt-get install php5 libapache2-mod-php5 php5-mysql

4. Testujemy PHP, na poczatek tworzymy index.php

czlowiek@maszyna:~$ sudo nano /var/www/index.php

wklepujemy to

<?php echo("It works!"); ?>

CTRL+O, CTRL+X, restartujemy Apache (w przeciwnym wypadku serwer poda nam ten plik, cale szczescie nie ma w nim hasel ;) )

czlowiek@maszyna:~$ sudo /etc/init.d/apache2 restart

pobieramy kontent

czlowiek@maszyna:~$ wget -q http://localhost/index.php -O /tmp/atest && cat /tmp/atest

jak dostaniemy cos podobnego: It works! to php dziala.

5. Teraz czas na MySQL – instalujemy bazke

czlowiek@maszyna:~$ sudo apt-get install mysql-server-5.1

kiedy instalator poprosi o haslo, podajemy unikalne 8)

6. Testujemy MySQL’a

czlowiek@maszyna:~$ sudo nano /var/www/dbtest.php

wklejamy to

<?php
mysql_connect('localhost', 'root', 'jakiessupertajnehaslo');
print_r(explode('  ', mysql_stat()));
?>

w wyniku powinnismy dostac status serwera.

7. I na koniec kompleksowy test :)

czlowiek@maszyna:~$ sudo nano /var/www/phpinfo.php

wklejamy to

<?php phpinfo(); ?>

i po wpisaniu w przegladarce http://localhost/phpinfo.php dostaniemy pelny raport systemu.

Teraz mozemy juz zaczynac zabawe z PHP, na poczatek polecam manual z php.net.