Jeràrquica, relacional, en xarxa.
fins al 70 que es va proposar el model relacional és el més utilitzat de aqui han aparegut molt Sistema Gestio de Base de dades.
El INGRES es el més antic fins al 80 no va surtir el ORACLE hi ha un petit conflicte que ORACLE a comprat MySQL es el 80 o 85% del mercat,
ORACLE es de pagament i possible es el millor del mercat. es necessita molta preparació per usarlo" no necessites un ferrari per anar pel monte", depen que hagis de fer no cal ORACLE.
Jeràrquica es usa pel Ldap es un sistema de fitxers,
RDBMS
El va crea una empresa MySQL AB que es va crea l'empresa per desenvolupar el programa.
es va comprar 2008 per SAN i al 2009 x ORACLE
2 opcions
$sudo tasksel
Es el que usa el tasksel Ncurses es una llibreria que permet emular entorn gràfic
instalar el LAMP server que ja instala el MySQL
al isntalar una server instales un kernel per a la execució d'un servidor
3 característiques del servei
manual
$ sudo apt-get install mysql
$ sudo apt-get remove mysql
Així no desapareix completament perquè instal·la més coses, per desintalar el mysql hem de desinstal·lació el paquet dependències es a dir per borrar el mysql s'hauria de posar
$ sudo apt-get remove mysql-server-5.1
el entorn gràfic es un problema perquè no saps que instal·les.
$ dpkg -l \ grep mysql
Surten tots els packets que tens al SO
-l = list
ii libdbd-mysql-perl 4.016-1 Perl5 database interface to the MySQL database
ii libmysql-java 5.1.10+dfsg-2ubuntu1 Java database (JDBC) driver for MySQL
ii libmysqlclient16 5.1.49-1ubuntu8.1 MySQL database client library
ii libqt4-sql-mysql 4:4.7.0-0ubuntu4.3 Qt 4 MySQL database driver
ii mysql-client-5.1 5.1.49-1ubuntu8.1 MySQL database client binaries
ii mysql-client-core-5.1 5.1.49-1ubuntu8.1 MySQL database core client binaries
rc mysql-cluster-server-5.1 7.0.9-1ubuntu7 MySQL database server binaries
ii mysql-common 5.1.49-1ubuntu8.1 MySQL database common files, e.g. /etc/mysql/my.cnf
ii mysql-server 5.1.49-1ubuntu8.1 MySQL database server (metapackage depending on the latest version)
ii mysql-server-5.1 5.1.49-1ubuntu8.1 MySQL database server binaries and system database setup
ii mysql-server-core-5.1 5.1.49-1ubuntu8.1 MySQL database server binaries
ii mysql-workbench-gpl 5.2.33-1ubu1010 MySQL Workbench
ii php5-mysql 5.3.3-1ubuntu9.5 MySQL module for php5
libqt entorn grafic.
con s'arranca o s'apaga
$ sudo /etc/init.d/mysql
reload es actualitzar el servei sense apagar-lo
$ sudo dpkg-reconfigure mysql-server-5.1
Per recordar el pass el servei espara duran aquesta comanda.
$ nmap localhost
surtira el servei Mysql, perquè sol esta configurat per a local.
$ nmap IP
no surtir el servei MySQL
$ sudo nc -l -p 3306
La comanda nc permet obrir sockets
los primers 1024 pots son per al super usuari.
$ ps aux | grep mysql
versions modernes tenen una altra comanda:
$ sudo service mysql restart
per matar la el servei
$ sudo kill 4130 $ sudo kill -9 4130
el 9 significa que a d'acabar al instant.
$ dpkg -L mysql-server-5.1 | grep etc
Principal fitxer de configuració del mysql my.cnf
No el portava perquè es dinàmic sa creat duran la instal·lació.
com podem consultar l'arxiu sol mirant l'important traient els comentaris.
el grep es filtrar un fitxer, aqui es filtra que no tingui "#"
$cat /etc/mysql/my.cnf |grep -v '^#'
el símbol ^ que indica començament de línia
si vols modificar un fitxer d'aquests entrem a la carpeta creem una copia.
$ cd /etc/mysql
$ sudo mv my.cnf my.cnf.original
$ sudo bash -c "cat /etc/mysql/my.cnf.original |grep -v '^#' > /etc/mysql/my.cnf"
[mysqld_safe] socket = /var/run/mysqld/mysqld.sock nice = 0
nice es la prioritat que entri a la cpu
usuari:
mysql si algu entra a este servei sol podrà fer el que puge fer el usuari mysql cuan l'inicies i fa un subproces i l'executa amb l'usuari mysql
que un altre alumne puge entrar al servidor mysql.
usem la següent comanda
$ sudo geany /etc/mysql/my.cnf
I en l'apartat bind-address = 127.0.0.1 per la següent línia bind-address = 192.168.202.103
Per poder que els altres de la xarxa puguin entrar.
Ara reiniciem el servei amb la següent comanda
$ sudo service mysql restart
I ja podem veure el port obert amb la comanda
$ nmap 192.168.202.234
i volem veure errors /var/log/mysql/error.log ens dirà els errors de mysql, són problemes que tingui el servidor.
instalacio del admin
$ sudo apt-get install mysql-admin
$ dpkg -L mysql-admin | grep bin
Es un eïna per administrar el sevidor.
Posem localhost el usuari i la pass
status informacio del servidor
Comanda per accedir a un servidor mysql duna maquina servidor sense entorn gràfic amb el programa d'entorn gràfic
$ ssh -L 5678:localhost:3306 [email protected]
Una altra eina
mysql-query-browser
$ install mysql-query-browser
Slave
Editem la configuració de l'esclau:
$ sudo joe /etc/mysql/my.cnf [...] server-id=2 master-connect-retry=60 replicate-do-db=webfaltes [...]
El server-id ha de ser únic.
$ sudo /etc/init.d/mysql restart
Ara creem la base de dades a partir de la copia de la master:
$ mysql -u root -p
> CREATE DATABASE webfaltes; > quit;
I:
/usr/bin/mysqladmin --user=root --password=passteva stop-slave
com jo ting l'arxiu de la BD al home no entro a cap lloc faig directament la comanda.
mysql -u root -ppassteva webfaltes < webfaltes.sql
Connectem de nou:
$ mysql -u root -p
I executem:
> CHANGE MASTER TO MASTER_HOST='192.168.202.112', MASTER_USER='slave_user', MASTER_PASSWORD='123456789', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=106;
On:
Ara activem l'esclau:
START SLAVE;
comprovem l'estat:
SHOW SLAVE STATUS \G
Un exemple:
mysql> SHOW SLAVE STATUS \G; *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 192.168.202.112 Master_User: slave_user Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000001 Read_Master_Log_Pos: 106 Relay_Log_File: risalol-relay-bin.000002 Relay_Log_Pos: 251 Relay_Master_Log_File: mysql-bin.000001 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: webfaltes Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 106 Relay_Log_Space: 408 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: 0 Master_SSL_Verify_Server_Cert: No Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: 1 row in set (0.00 sec)
comprovació