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

Sep 17 2009

Backup plikow

Mamy taki oto przypadek. Jest sobie komputer, brak USB, wolne lacze, brak dodatkowej karty sieciowej, a co najlepsze – brak trybu graficznego, jedyne co mamy to konsola i dzialajacy cdrw. Pozornie, komputer jest nie do uzytku ;) . Jak wiec zrobic kopie zapasowa plikow? Konsola jest najlepszym, najszybszym i niezastapiony narzedziem, jezeli znamy pare komend i wiemy jak ich uzyc.

Tworzenie cd image’a

czlowiek@maszyna:~$ mkisofs -r -o cd_image katalog_do_nagrania/

Oczywiscie, komponujemy odpowiedni obraz plyty, mieszczacy sie na plytce CD, wiec katalog_do_nagrania nie moze zawierac wiecej, niz sie na niej miesci.

Test cd image’a

czlowiek@maszyna:~$ mkdir /mnt/iso
czlowiek@maszyna:~$ mount -o loop cd_image /mnt/iso

W razie problemow z prostym montowaniem, wykonujemy nieco bardziej sparametryzowana komede

czlowiek@maszyna:~$ mount -t iso9660 -o ro,loop=/dev/loop0 cd_image /mnt/iso

Klik, klik, klik, sprawdzamy czy obraz plytki zawiera nasze pliki, jezeli jest wszystko, oraz, wielkosc obrazu jest odpowiednia, odmontowujemy

czlowiek@maszyna:~$ umount /mnt/iso

Wypalamy

czlowiek@maszyna:~$ cdrecord -data cd_image

Teoretycznie cdrecord sam wykryje, gdzie i w jaki sposob nagrac obraz, chyba, ze nie. Wtedy sprawdzamy jakie sa dostepne urzadzenia, parametryzujemy i wypalamy

czlowiek@maszyna:~$ cdrecord -v speed=48 dev=/dev/cdrw -data cd_image

Jezeli komputer nie ma monitora :>? Nie ma wiekszego problemu, komendujemy przez ssh. No i czysta plytka musi byc w napedzie. W komputerze zdalnym :) .


Jul 15 2009

Uslugi w Ubuntu

EDIT: Zmiany w Karmic, czytaj jak zarzadzac uslugami w Ubuntu 9.10

Konfiguracja uslug uruchamianych podczas rozruchu niby i jest prosta, System->Administracja->Uslugi (services-admin), i tu mozemy je wlaczac, wylaczac. Jezeli jednak to nie wystarcza, mozna skorzystac z narzedzia chkconfig, ktory oprocz wyswietlania szczegolowej listy uruchamianych uslug umozliwia manipulacje ich levelami uruchomienia.

czlowiek@maszyna:~$ chkconfig -A -l

Mamy teraz ladnie wyswietlona liste z serwisami wraz ze statusem levelu uruchomienia od 0 do 6, czasem S. Tam gdzie zielono znaczy wlaczone ;) .

Z tymi levelami jest roznie, ile dystrybucji tyle rozwiazan ;) . Na “szczescie” uzytkownicy Debiana, czyli Ubuntu rowniez, maja uproszczone zadanie – nie ma wiekszej roznicy pomiedzy trybami od 2 do 5, a reszta jest jak wszedzie:
- 0 – zatrzymanie systemu,
- 1 – uruchamianie z jednym uzytkownikiem,
- 2-5 – wielu userow od konsoli do X’ow, (nie wiem jak jest teraz z ta 4, niby nie uzywane a wlaczany jest automatycznie),
- 6 – reboot systemu,
- S – Superuser

Przypuscmy, ze mamy wlaczonego apache2 i chcemy go wylaczyc, najprosciej mozna tak:

czlowiek@maszyna:~$ sudo chkconfig apache2 off

Prosto, szybko i bezbolesnie, apache2 wylaczony od 2 do 5. Wlaczamy analogicznie:

czlowiek@maszyna:~$ sudo chkconfig apache2 on

Mozemy tez okreslic wlasne levele, np:

czlowiek@maszyna:~$ sudo chkconfig apache2 235

Najciekawsza rzecza jest jednak mozliwosc exportu i importu ustawien, zawsze dobrze jest miec backup. Jezeli cos padnie, mozna zawsze przywrocic poprzednie ustawienia :) .

backup:

czlowiek@maszyna:~$ sudo chkconfig -A > chkconfig.save

restore:

czlowiek@maszyna:~$ sudo chkconfig -s < chkconfig.save

EDIT: Problemy w Karmic

W Ubuntu 9.10 (Karmic) nagle przestal mi dzialac chkconfig, malo tego, wcielo gdzies services-admin, z braku czasu nie chce wnikac w czym problem, wiec mala alternatywa, jakbys mial podobny problem.

Zarzadzanie uslugami w Ubuntu Karmic