Archive

Archive for the ‘MySQL’ Category

MySQL gida

Instalacion del servidor mysql:

# apt-get install mysql-server

Puerto de escucha:

# nmap localhost
# ps aux | grep mysql
# netstat -anp | grep mysql

Iniciar, parar, reiniciar el servicio:

# /etc/init.d/mysql start | stop | restart
# mysqladmin shutdown

conectarme al servidor mysql:

# mysql -h host -u usuario -p

[NOTA: para conectarse al servidor remotamente primero hay que cambiar la configuracion por defecto de mysql y luego conceder los permisos correspondientes a los usuarios]

Cambiar la configuracion de mysql para permitir el acceso remoto:

# vim /etc/mysql/my.cnf

[comentar la siguiente linea]

# bind-address = 127.0.0.1

[reiniciar el servidor]

cambiar la base de datos:

mysql> USE nombre_bd;

describir una tabla:

mysql> DESCRIBE nombretabla;
mysql> DESCRIBE nombrebd.nombretabla;

ver los permisos de los usuarios:

mysql> USE mysql;
mysql> SELECT host, user, password FROM user;

conceder permisos a los usuarios:

mysql> GRANT usage ON * TO usuario@localhost IDENTIFIED BY ‘password’;

mysql> USE mysql;
mysql> GRANT USAGE ON *.* TO usuario@localhost IDENTIFIED BY ‘password’;

mysql> GRANT USAGE ON *.* TO usuario@”%.midominio.com” IDENTIFIED BY ‘password’;
[NOTA: el simbolo % se utiliza para generalizar y tiene que ir entre comillas]

quitar permisos:

mysql> REVOKE all ON *.* FROM usuario@localhost;

Modificar la contraseña:

mysql> SET PASSWORD FOR usuario@localhost=PASSWORD(‘contraseña’);

mysql> GRANT USAGE ON *.* TO usuario@localhost IDENTIFIED BY ‘contraseña’;

# mysqladmin -u usuario -p password newpassword

mysql> UPDATE user SET password=PASSWORD(‘contraseña’) WHERE user=’usuario’ AND host=’localhost’;
mysql> FLUSH PRIVILEGES;

[NOTA: cuando se utilice update, delete, insert hay que hacer FLUSH PRIVILEGES]

cambiar permisos:

mysql> GRANT select, insert, update ON *.* TO usuario@localhost;
[al usuario conectado localmente se le da permiso para hacer select, insert, update en todas las tablas de la bd en uso]

opciones de mysqladmin:

# mysqladmin -u root -p reload
# mysqladmin -u root -p flush-privileges
[NOTA: mysqladmin no tiene por que ser ejecutado con permisos de superusuario]

creacion y administracion de BD:

mysql> CREATE DATABASE nombrebd;
mysql> DROP DATABASE nombrebd;
mysql> CREATE TABLE …..
mysql> DROP TABLE tabla;

Categories: MySQL

MySQL. Tutorial txiki bat

[hemendik]

Datu basera konektatzeko:

# mysql -h host -u user -p

MySQL-ko agindu batzuk:

mysql> SELECT VERSION(), CURRENT_DATE;
mysql> SHOW DATABASES;
mysql> USE datubase_izena
mysql> CREATE DATABASE datubasea;
mysql> SHOW TABLES;
mysql> DESCRIBE taula;

MySQL prompt esanahia:

mysql> agindu berri baten zain.
-> hurrengo lerroaren zain.
'> hurrengo lerroaren zain, ' irekita.
"> hurrengo lerroaren zain, " irekita.
`> hurrengo lerroaren zain, ` irekita.
/*> hurrengo lerroaren zain, komentarioa irekita /*.

Tutoriala

Probak egiteko erabiliko dugun datubasea jeitsi:

$ wget http://downloads.mysql.com/docs/menagerie-db.tar.gz

Ondoren,

$ tar -xzvf menagerie-db.tar.gz

MySQL-n sartu:

mysql> CREATE DATABASE menagerie;
mysql> USE menagerie;
mysql> SOURCE cr_pet_tbl.sql;
mysql> LOAD DATA LOCAL INFILE 'pet.txt' INTO TABLE pet;
mysql> SOURCE ins_puff_rec.sql
mysql> SOURCE cr_event_tbl.sql
mysql> LOAD DATA LOCAL INFILE 'event.txt' INTO TABLE event;

Momentu honetan datubasea sortu eta datu batzuk sartu ditut. Shell-etik datubase honetara konektatzeko:

$ mysql -h host -u user -p menagerie
Categories: MySQL

MySQL instalazioa eta konfigurazioa

MySQL datu-base zerbitzaria instalatzeko pausoak

hauek dira:

1) Debian baten gainean:

# apt-get install mysql-server

2) Windows baten gainean:

[egiteko]

Erabiltzaileen kudeaketa

MySQL datu-base zerbitzari bat denez erabiltzaileak ditu. Ondorengo aginduaren bidez konekta gaitezke:

$ mysql -h localhost -u root -p

Instalzioa egiten denean ‘root’ erabiltzailea sortzen du baina ez dio pasahitzarik jartzen. Beraz ‘root’ erabiltzaileari pasahitza jarriko diogu [dokumentazioa hemendik]:

$ mysql -u root
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('pasahitza');
mysql> SET PASSWORD FOR 'root'@'hostname' = PASSWORD('pasahitza');
mysql> FLUSH PRIVILEGES;
mysql> QUIT;

Erabiltzaile bat kanpotik edo barrutik konektatu daiteke zerbitzarira. Horregatik bai barneko (localhost) zein kanpoko(hostname) pasahitzak jarri behar dira. Gure hostname zein den jakiteko:

# hostname

Beste aukera bat:

# mysql -u root
mysql> UPDATE mysql.user SET Password = PASSWORD('newpwd')
->     WHERE User = 'root';
mysql> FLUSH PRIVILEGES;

Ikusi daitekeenez mysql.user taulan erabiltzaileen datuak gordetzen dira.

Beste aukera bat:

# mysqladmin -u erabiltzaile_izena -h ekipoa password "pasahitzberria" -p
Categories: MySQL