MySQL és un sistema de gestió de bases de dades relacional (RDMS en anglès).
Oracle va comprar a MySQL, ara disposa més del 80% del mercat ja que aquests dos eren els mes utilitzats.
El Mysql s'utilitza molt en sistemes LAN.
MySQL és una idea originaria de la empresa opensource MySQL AB creada inicialmente en Suecia en 1995.
Hi han dos opcions en sistema Linux:
$ sudo tasksel
El tasksel utilitza el ncurse, aquesta llibreria pot emular un entorn gràfic en línia de comandes.
$sudo apt-get install mysql-server
Per vore si esta eliminat podem usar:
$ nmap localhost
Per vore que hem instal·lat usem la comanda:
$ dpkg -L mysql-server
Si volem eliminar el mysql hem de eliminar el mysql-server-5.1 ja que el paquet mysql depen del mysql-server-5.1
$apt-get remove mysql-server-5.1
Com podem saber els paquets instal·lats?
asdadsadsa
Per tenir un PHP complet s'ha de instal·lar un munt de coses si és fa a pelo.
QT = llibreria del KDE
apgar i orbir serveis
$ sudo /etc/init.d/mysql [start|stop|restart|reload]
La majoria de cops tendríem de fer reload per a reiniciar-ho però sense aturar-se.
En versions més noves s'ha d'utilitzar la comanda:
$ sudo service mysql [start|stop|restart|reload]
matar el procés
$ sudo kill (número del procés)
Per matar un servei instantàniament( -9) s'usa:
$ sudo kill -9 (número del procés)
$ sudo mysql -p
No es pot visualitzar perquè solament des de la nostra maquina ens podem connectar al mysql(només interficie loopback).
Aquesta comanda mostra informació del mysql
1-Saber que s'ha instal·lat
$ dpkg -L mysql-server-5.1 | grep "/etc"
Són configuracions extra.
És un arxiu dinàmic i no es visualitza al grep.
Es pot escollir al lloc on desa este fitxer(com tot el Linux que es configurable).
Sempre que es modifica algo del fitxer s'ha de reiniciar el servei.
:*/var: conte variables com la base de dades, etc. :*nice : És la prioritat del procés, la prioritat 0 és la normal, la que te al majoria de processos. :*user : Aquest usuari esta per seguretat, és per si algu entra sol pugues modificar el que té permet l'usuari mysql (és per no haver superusuari). :*datadir: És on es guarda les base de dades :*bind-address: L'adreça IP per la qual posem el servidor a escoltar. (Si no es necesita no cal modificar ja que es mes rapid el socket local). :*!includedir /etc/mysql/conf.d/: Inclueix la carpeta, s'usa el include per a que no "choquen" els fitxers per les diferents versions.
/var/log/mysql/error.log
En aquesta carpeta és guarden tots els errors del servidor.
Si els comentaris comencen amb el caràcter "#" podem utilitzar grep per mostrar només les línies que no tenen el caràcter:
$ cat /etc/apache2/apache2.conf | grep -v '^#'
El simbol carat és una expressió regular que indica començament de línia.
Si a més volem treure les línies en blanc:
$ cat squid.conf | grep -v '^#\|^$\|^;'
Si vols modificar un fitxer, primer entres a la carpeta i crees una copia de seguretat:
$ cd /etc/mysql $ sudo mv my.cnf my.cnf.original
després fas la comanda:
$ sudo bash -c "cat /etc/mysql/my.cnf.original | grep -v '^#' > /etc/mysql/my.cnf"
instal·lem el mysql-adim
$ sudo apt-get install mysql-admin
mirem els fitxers instal·lats
$ dpkg -L mysql-admin | grep bin $ dpkg -L mysql-admin | grep etc $ dpkg -L mysql-admin | grep doc
Per iniciar:
$ mysql-admin
un cop dins posem:
Address: localhost Usuari: root Password: *********
Service-control: alternativa al service.
Startup Parametres: Canviar els paràmetres de configuració
User Administration: Administració d'usuaris
Server Connections: Saber quants usuaris tens connectats al servidor.
Health: Veure quanta CPU esta usant, quantes comandes esta executant-se, etc.
Server Logs: Motra els errors del mysql
Serveix per entrar a la maquina servidor sense entorn gràfic.
$ ssh -L 5678:localhost:3306 [email protected]
$ sudo apt-get install mysql-query-browser
Modificar la IP per a que els de la xarxa puguin veure el mysql.
Primerament anem a /etc/mysql/my.cnf i canviem el bind-adrress.
Fem un nmap al del costat per veure si ell ho ha modificat be.
Esborrar completament:
$ sudo apt-get remove --purgue mysql-common m
$ dpkg -l | grep ^mysql
per fer un borrat complet s'ha de borrar (borren les base de dades)
$ sudo rm -rf/var/lib/mysql
Crear una base de dades "usuaris" (funció mysql_xxx) Crear taula usuari (executant un "CREATE TABLE")
#!//usr/bin/php <?php $HOST="localhost"; $USER="root"; $PASSWD="mcfh7kqgd"; $connexio = mysql_connect($HOST, $USER, $PASSWD); mysql_set_charset('utf8',$connexio); //connectar a la base de dades if (!$connexio) { die('Could not connect: ' . mysql_error()); } echo "Connected successfully\n"; //crear la base de dades $sql = 'CREATE DATABASE exemple'; if (mysql_query($sql, $connexio)) { echo "Database my_db created successfully\n"; } else { echo 'Error creating database: ' . mysql_error() . "\n"; } //Seleccionar base de dades $db_selected = mysql_select_db('usuaris',$connexio) or die('No sel·lecciona la base de dades'); if (!$db_selected) { die ('Can\'t use foo : ' . mysql_error()); } //Crear taula usuaris $sql = mysql_query('CREATE TABLE usuari ( ID INT NOT NULL AUTO_INCREMENT, username VARCHAR(20) NOT NULL, password VARCHAR(20) NOT NULL, name VARCHAR(50) NOT NULL, PRIMARY KEY(ID))'); //insertar camps a la taula $sql = "INSERT INTO usuari (username, password, name) VALUES ('prova1', 'prova1', 'prova1'),('prova2', 'prova2', 'prova2'),('prova3', 'prova3', 'prova3'),('prova4', 'prova4', 'prova4')"; mysql_query($sql); //mostrar els usuaris de la base de dades //eliminar un usuari el de la id1 //echo "selecciona l'usuari que vol eliminar"; //fgets = read $sql = " DELETE FROM usuari WHERE id='2'"; mysql_query($sql); //modificar la paraula de pas usuari3 $sql = "UPDATE usuari SET password='prova_modificada' WHERE id='1'"; mysql_query($sql); ?>
Al phpmyadmin surt una opcio de index, creem el index, sel·leccionem la columna que volem que sigue el index, no li posem mida, ja que aixi no tindrà un màxim i li donem a guardar.
[[1]]
#! -- phpMyAdmin SQL Dump -- version 3.3.2deb1ubuntu1 -- http://www.phpmyadmin.net -- -- Servidor: localhost -- Temps de generació: 20-01-2012 a les 20:05:16 -- Versió del servidor: 5.1.41 -- Versió de PHP : 5.3.2-1ubuntu4.11 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; /*!40101 SET @[email protected]@CHARACTER_SET_CLIENT */; /*!40101 SET @[email protected]@CHARACTER_SET_RESULTS */; /*!40101 SET @[email protected]@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; -- -- Base de dades: `usuari` -- CREATE DATABASE `usuari` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci; USE `usuari`; -- -------------------------------------------------------- -- -- Estructura de la taula `user` -- CREATE TABLE IF NOT EXISTS `user` ( `dni` varchar(10) NOT NULL, `Nom` varchar(24) NOT NULL, `Cognoms` varchar(30) NOT NULL, `Edat` varchar(3) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; -- -- Bolcant dades de la taula `user` -- INSERT INTO `user` (`dni`, `Nom`, `Cognoms`, `Edat`) VALUES ('123456789', '0', '0', '19'), ('987456321q', 'patu', 'christian', '19');
> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000002 | 258 | usuari | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)