Mysql server

Allikas: Kuutõrvaja
Redaktsioon seisuga 7. veebruar 2008, kell 12:56 kasutajalt Jj (arutelu | kaastöö)

Sissejuhatus

MySQL on vabatarkvaraline SQL baasil loodud andmebaasi haldamise tarkvara, mida kasutavad ka näiteks Google, Yahoo!, HP, MP3.com, Motorola, Silicon Graphics ja NASA ning ka arvatavasti umbkaudu enam-vähem 70% maailma veebilehtedest

Mysql populaarsus veebiaplikatsioonina on lähedalt seotud PHP programmeerimiskeele populaarsusega. Lausa standardiks on muutunud LAMP lahendus - Linux, Apache, Mysql, Php


Install

FreeBSD

cd /usr/ports/databases/mysql50-server
make install clean

gentoo

emerge mysql-server

Seadistus

FreeBSD

/etc/rc.conf

rida

mysql_enable="YES"

Gentool piisab kui kirjutame

rc-update add mysql default

installime default baasi ja seadistame õigused kuna vaikimisi tekib see root omandusse

FreeBSD

/usr/local/bin/mysql_install_db
chown -R mysql:mysql /var/db/mysql

strdime mysql serveri

/usr/local/etc/rc.d/mysql-server start

Ning seejärel seadistame root parooli

/usr/local/bin/mysqladmin -u root password 'parool234'


testimine

# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)


# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.1.15-beta FreeBSD port: mysql-server-5.1.15

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

Kui näiteks oleks vaja võimaldada mysql'i logimist mõnest teisest serverist tuleks käivitada käsud


mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'host.edu.ee' IDENTIFIED BY 'parool' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec) 


MySQL'i kasutamine

Kui server käib, siis saab seda kasutada käsureal programmi 'mysql' abil. Te saate ette uue prompti ja saate teha nt. sellise asja

antud juhul on eesmärk - luua andmebaas minu_sobrad - sisestada sinna andmed - teha päring mis peaks ekraanile tooma kõigi inimeste nimed kes elavad Tartus

Seanss näeb välja nii:

# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10 to server version: 3.22.15-gamma

Type 'help' for help.

loome andmebaasi (Siin pange tähele, et käsud lõppevad semikooloniga!)

mysql> create database minu_sobrad;
Query OK, 1 row affected (0.00 sec)
mysql> use minu_sobrad
Database changed
mysql> create table kontakt (nimi varchar (15), elukoht varchar (20), vanus int);
Query OK, 0 rows affected (0.02 sec)
mysql> show columns from kontakt1;
+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| nimi    | varchar(15) | YES  |     | NULL    |       |
| elukoht | varchar(20) | YES  |     | NULL    |       | 
| vanus   | int(11)     | YES  |     | NULL    |        |
+---------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

lisame andmebaasi infot

mysql> insert into kontakt values ('Hunt Kriimsilm', 'Tartu', 45);
Query OK, 1 row affected (0.00 sec)
mysql> insert into kontakt values ('Tripp', 'Viljandi', 36);
Query OK, 1 row affected (0.00 sec)
mysql> insert into kontakt values ('Jänku', 'Tartu', 76);
Query OK, 1 row affected (0.00 sec)
mysql> insert into kontakt values ('Ahv', 'Tartu', 16);
Query OK, 1 row affected (0.00 sec)
mysql> insert into kontakt values ('Haista', 'Tallinn', 101);
Query OK, 1 row affected (0.00 sec)

vaatame nüüd tabelit

mysql> select * from kontakt
    -> ;
+----------------+------------+--------+
| nimi           | elukoht    | vanus  |
+----------------+------------+--------+
| Hunt Kriimsilm | Tartu      |    45  |
| Tirpp          | Viljandi   |    36  |
| Jänku          | Tartu      |    76  |
| Ahv            | Tartu      |    16  |
| Haista         | Tallinn    |   101  |
+----------------+------------+--------+
3 rows in set (0.00 sec)

ainult need read kus elukoht = Tartu

mysql> select * from kontakt where (elukoht = 'Tartu');
+----------------+---------+-------+
| nimi           | elukoht | vanus |
+----------------+---------+-------+
| Hunt Kriimsilm | Tartu   |    45 |
| Jänku          | Tartu   |    76 |
| Ahv            | Tartu   |    16 |
+----------------+---------+-------+
2 rows in set (0.00 sec)

lõpetame mysql kasutuse

mysql> quit
Bye


käsuga 'create database andmebaasi_nimi' tehakse kataloog '/usr/local/mysql/var/andmebaasi_nimi'; ning käsuga 'create table tabeli_nimi' tekitatakse vastavasse kataloogi kolm andmetesse puutuvat faili:

tabeli_nimi.ISD
tabeli_nimi.ISM
tabeli_nimi.frm

ja käsuga 'use andmebaasi_nimi' tehakse andmebaas aktiivseks.


Lõppsõna

Edasi võib juba paigaldada apache ja php ning phpMyAdmin'i edasiseks tööks http://www.phpmyadmin.net/home_page/index.php