Oct
16
2007

Mini tutorial comandos Mysql

Conexión MySQL Client

mysql -u -h -P -p

Ejemplo de conexión utilizando usuario “root” desde la consola:

#$ mysql -u root -p
Enter password: #####
Welcome TO the MySQL monitor. Commands end WITH ; OR g.
Your MySQL connection id IS 89 TO server version: 4.1.11-Debian_4-log
Type 'help;' OR 'h' FOR help. Type 'c' TO clear the buffer.
mysql>

Trabajando con Bases de Datos – Creación de BBDD

mysql> CREATE DATABASE miBD_db;
Query OK, 1 row affected (0.03 sec)

Selección de BD

Cambiar o elegir base de datos a utilizar:

mysql> USE miBD_db;
DATABASE changed

Ver la base de datos seleccionada:

mysql> SELECT DATABASE();
+————+
| DATABASE() |
+————+
| miBD_db |
+————+
1 row IN SET (0.00 sec)

Eliminación de BD

mysql> DROP DATABASE miBD_db;
Query OK, 0 rows affected (0.60 sec)

Trabajando con Usuarios / Privilegios
Creación de Usuarios

Usuarios

Ejm: Otorgar todos los privilegios a

mysql> GRANT ALL PRIVILEGES ON miBD.* TO miBD_user_allpriv@localhost IDENTIFIED BY 'miBD_pass';
Query OK, 0 rows affected (0.14 sec)

Usuarios sin privilegios (solo introduce el usuario en la tabla mysql.user):

mysql> GRANT USAGE ON miBD_db.* TO miBD_user_nopriv@localhost IDENTIFIED BY 'miBD_pass';
Query OK, 0 rows affected (0.01 sec)

Usuarios con privilegios de solo lectura en registros:

mysql> GRANT SELECT ON miBD.* TO user_bd@localhost IDENTIFIED BY 'miBD_pass';
Query OK, 0 rows affected (0.02 sec)

Usuarios con priligegios de solo inserción o modificación de registros:

mysql> GRANT INSERT,UPDATE ON miBD_db.* TO miBD_user_wo@localhost IDENTIFIED BY 'miBD_pass';
Query OK, 0 rows affected (0.01 sec)

Selección de Usuarios

Ver el usuario con el que se está trabajando

mysql> SELECT user();
+————————+
| user() |
+————————+
| miBD_user@localhost |
+————————+
1 row IN SET (0.00 sec)

Visualización de Privilegios de Usuarios

mysql> SHOW grants FOR 'miBD_user_allpriv'@'localhost';
+————————————————————————————————+
| Grants FOR miBD_user_allpriv@localhost |
+————————————————————————————————+
| GRANT USAGE ON *.* TO ‘miBD_user_allpriv’@'localhost’ IDENTIFIED BY PASSWORD ’1a7f0760d48e’ |
| GRANT ALL PRIVILEGES ON `miBD_db`.* TO ‘miBD_user_allpriv’@'localhost’ |
+————————————————————————————————+
2 rows IN SET (0.00 sec)

Eliminación de Usuarios

mysql> REVOKE ALL PRIVILEGES ON miBD.* FROM 'miBD_user_allpriv'@'localhost';

Query OK, 0 rows affected (0.00 sec)

mysql> SHOW grants FOR 'miBD_user_allpriv'@'localhost';
+————————————————————————————————+
| Grants FOR miBD_user_allpriv@localhost |
+————————————————————————————————+
| GRANT USAGE ON *.* TO ‘miBD_user_allpriv’@'localhost’ IDENTIFIED BY PASSWORD ’1a7f0760d48e’ |
+————————————————————————————————+
1 row IN SET (0.00 sec)

mysql> REVOKE usage ON *.* FROM 'miBD_user_allpriv'@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> DROP user 'miBD_user_allpriv'@'localhost';
Query OK, 0 rows affected (0.00 sec)

Trabajando con Tablas – Tipos de Tablas y Motores de Almacenamiento
Referencia manual MySQL
Tipos de Campos

Referencia manual MySQL
Creación Tablas – MyISAM

mysql> CREATE TABLE clientes (
id_cliente INT(8) NOT NULL AUTO_INCREMENT PRIMARY KEY,
razon_social VARCHAR (50) NOT NULL,
domicilio VARCHAR (100) NOT NULL,
nif VARCHAR (9) NOT NULL,
contacto VARCHAR (40)
) ENGINE=MyISAM;

Query OK, 0 rows affected (0.05 sec)

mysql> CREATE TABLE presupuestos (
id_presupuesto INT(8) NOT NULL AUTO_INCREMENT PRIMARY KEY,
empresa INT(8) NOT NULL,
asunto VARCHAR (60),
precio FLOAT DEFAULT 0.0,
fecha DATE,
) ENGINE=MyISAM;

Query OK, 0 rows affected (0.20 sec)

InnoDB

mysql> CREATE TABLE clientes (
id_cliente INT(8) NOT NULL AUTO_INCREMENT PRIMARY KEY,
razon_social VARCHAR (50) NOT NULL,
domicilio VARCHAR (100) NOT NULL,
nif VARCHAR(9) NOT NULL,
contacto VARCHAR(40)
) ENGINE=InnoDB;

Query OK, 0 rows affected (0.10 sec)

mysql> CREATE TABLE presupuestos (
id_presupuesto INT(8) NOT NULL AUTO_INCREMENT PRIMARY KEY,
empresa INT(8) NOT NULL,
asunto VARCHAR (60),
precio FLOAT DEFAULT 0.0,
fecha DATE,
INDEX (empresa),
FOREIGN KEY (empresa) REFERENCES clientes(id_cliente) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB;

Query OK, 0 rows affected (0.06 sec)

Visualización Tablas

Tablas contenidas en una Base de Datos:

mysql> SHOW TABLES;
+——————+
| Tables_in_prueba |
+——————+
| clientes |
| presupuestos |
+——————+
2 rows IN SET (0.00 sec)

Estructura de una tabla:

mysql> DESC presupuestos;
+—————-+————-+——+—–+———+—————-+
| FIELD | Type | NULL | KEY | DEFAULT | Extra |
+—————-+————-+——+—–+———+—————-+
| id_presupuesto | int(8) | | PRI | NULL | AUTO_INCREMENT |
| empresa | varchar(50) | | | | |
| asunto | varchar(60) | YES | | NULL | |
| precio | float | YES | | 0 | |
| fecha | date | YES | | NULL | |
+—————-+————-+——+—–+———+—————-+
5 rows IN SET (0.01 sec)

Modificación Tablas

Referencia manual MySQL
Añadir un nuevo campo

mysql> ALTER TABLE [database.]tabla ADD campo_nuevo tipo AFTER campo_viejo;

mysql> ALTER TABLE presupuestos ADD adjunto BLOB AFTER fecha ;
Query OK, 0 rows affected (0.06 sec)
Registros: 0 Duplicados: 0 Peligros: 0

Cambiar el nombre de una tabla

mysql> ALTER TABLE [database.]tabla RENAME tabla_nueva;

mysql> ALTER TABLE presupuestos RENAME proyectos;

Query OK, 0 rows affected (0.03 sec)

Cambiar el tipo de dato de un campo

mysql> ALTER TABLE [database.]tabla CHANGE campo campo nuevo_tipo;

mysql> ALTER TABLE presupuestos CHANGE asunto asunto VARCHAR(100);
Query OK, 0 rows affected (0.23 sec)
Registros: 0 Duplicados: 0 Peligros: 0

Eliminar un campo existente

mysql> ALTER TABLE [database.]tabla DROP campo;

mysql> ALTER TABLE presupuestos DROP adjunto;
Query OK, 0 rows affected (0.05 sec)
Registros: 0 Duplicados: 0 Peligros: 0

Eliminación Tablas

mysql> DROP TABLE [database.]tabla;

mysql> DROP TABLE presupuestos;
Query OK, 0 rows affected (0.44 sec)

Trabajando con Registros

Nota: Si no se indica la Base de Datos a la que una tabla hace referencia, es necesario seleccionar previamente dicha BBDD (use database).
Consultas

mysql> SELECT campo1,campo2,.. FROM [database.]tabla;

mysql> SELECT * FROM proyectos;
Empty SET (0.10 sec)

Inserción de datos

mysql> INSERT INTO [database.]tabla (campo1,campo2,..) VALUES (’valor_campo1’,’valor_campo2’,..);

mysql> INSERT INTO presupuestos (empresa,asunto,precio,fecha) VALUES ('UPV','Formación GNU/Linux','600','2005-07-01');
Query OK, 1 row affected (0.00 sec)

Modificación de datos

mysql> UPDATE [database.]tabla SET campo1=’valor_nuevo_campo1’,campo2=’valor_nuevo_campo2’ WHERE condición;

mysql> UPDATE presupuestos SET empresa='UPV/EHU' WHERE empresa='UPV';

Eliminación de datos

mysql> DELETE FROM [database.]tabla WHERE condición;

mysql> DELETE FROM presupuestos WHERE id='1';

Query OK, 1 row affected (0.04 sec)

Trabajando con MySQL
Variables de Sistema

Ver variables de sistema:

mysql> SHOW VARIABLES;
+———————————+———————————————————-+
| Variable_name | Value |
+———————————+———————————————————-+
| back_log | 50 |
| basedir | /usr/ |
| bdb_cache_size | 8388600 |
| bdb_home | /var/lib/mysql/ |
| bdb_log_buffer_size | 32768 |
| bdb_logdir | |
| bdb_max_lock | 10000 |
| bdb_shared_data | OFF |
| bdb_tmpdir | /tmp/ |
| binlog_cache_size | 32768 |
………………………………………………………………………………….
| version | 4.1.11-Debian_4-log |
| version_bdb | Sleepycat Software: Berkeley DB 4.1.24: (April 1, 2005) |
| version_comment | Source distribution |
| version_compile_machine | i386 |
| version_compile_os | pc-linux-gnu |
| wait_timeout | 28800 |
+———————————+———————————————————-+
196 rows IN SET (0.01 sec)


Configuración

/etc/mysql/my.cnf
Tablas InnoDB por defecto

[mysqld]
default-table-type=innodb

Localización

[mysqld]
language = /usr/share/mysql/spanish

Backups – Respaldo, usar comando “mysqldump”

mysqldump incluído en el paquete mysql-client

Referencia manual MySQL

Backup de todas las bases de datos:

$ mysqldump –opt –all-databases -u root -p > backup_mysql.sql

$ mysqldump –opt –all-databases -u root –password=contraseña > backup_mysql.sql

Comando -d, hace backup solamente de la estructura de las tablas
$ mysqldump –opt –all-databases -d -u root –password=contraseña > backup_mysql.sql

Otras Herramientas
mysqladmin

Para cambiar la contraseña del usuario root:

$ mysqladmin -u root password mipass

Referencias:

www.mysql.com
airontec wiki:mysql

Written by doutdex in: Mysql | Tags: , ,

1 Comment »

RSS feed for comments on this post. TrackBack URL


Leave a Reply

TheBuckmaker.com Wordpress Themes | Geld von Privat, Streaming Audio
футбол онлайн, live football, canlı izle, football streaming, football forum, football forums, canlı maç, football highlights, maç özeti, live football streaming, stream live football, free football streaming,