Está en la página 1de 6

Programa: Técnico Profesional en Programación de Computadores

Semestre: 4
Docente: José Palacio
Asignatura: Desarrollo de Aplicaciones con Acceso a Datos
Tema: Introducción a MySQL

INTRODUCCIÓN A MYSQL
INTRODUCCIÓN
MySQL es uno de los sistemas de gestion de bases de datos más utilizados del mundo,
junto con Oracle y SQL Server, actualmente propiedad de la empresa Oracle
Corporation, bajo una licencia dual GPL/Licencia comercial.
Fue inicialmente desarrollado por la empresa MySQL AB en 1995, la
cual fue adquirida luego por Sun Microsystems en 2008 y luego Sun
Microsystems fue comprada por Oracle Corporation en 2010.
MySQL se distribuye en diferentes versiones, una versión Community, la cual se distribuye bajo
licencia GPL versión 2, y otras versiones Enterprise, las cuales incluyen un conjunto de
herramientas de gestión adicionales.

INGRESAR A MYSQL
Para poder conectarse al servidor y crear las bases de datos, tablas y demás elementos necesarios
para nuestro sistema de información, podemos hacer uso del cliente mysql instalado junto con el
servidor, para esto debemos definir el nombre del usuario, la dirección IP o nombre del servidor y
la contraseña del usuario.
[root@servidor ~]# mysql –h localhost –u root –p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 5.1.73 Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights
reserved.

Oracle is a registered trademark of Oracle Corporation and/or its


affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current
input statement.

mysql>
Observamos el prompt de MySQL, ya podemos iniciar la creación de nuestra base de datos.

JOSE PALACIO VELASQUEZ Página 1


Los parámetros usados corresponden a:
 -u: Nombre del usuario
 -h: nombre o dirección IP del servidor de MySQL
 -p: contraseña del usuario
SI por ejemplo, se necesitara conectar a un servidor MySQL con nombre db.miempresa.com.co,
con el usuario webmaster, se debería acceder de la siguiente forma:
mysql –u webmaster –h db.miempresa.com.co –p
Al ingresar este usuario sólo podrá acceder a las bases de datos a las que el DBA le haya dado
acceso, y siempre y cuando la conexión se haya realizado desde un equipo autorizado a ser usado
por ese usuario, en el servidor de base de datos.
SI durante el inicio se omite la dirección o nombre del servidor se utilizará localhost.
mysql –u root –p
Su además omitimos el parámetro del usuario se utiliza el usuario actual del sistema operativo.
mysql –p
Si intentamos conectarnos sin la contraseña el sistema arroja el siguiente mensaje de error:
[root@servidor ~]# mysql
Error 1045 (28000): Access denied for user ‘root’@’localhost’ (usi
ng password: NO)
Como recomendación de seguridad se puede decir lo siguiente:
 El acceso de root sólo debe ser local, no se debe permitir que el usuario root se conecte
desde cualquier máquina.
 Sólo el DBA debe tener acceso al servidor como usuario root, si es necesario que otra
persona tenga acceso al sistema, se debe crear un usuario con los privilegios requeridos,
nunca con permisos globales y sólo desde su o sus equipos de trabajo.
 Siempre utilizar contraseñas seguras para los usuarios.
Nota: Para todas las actividades desarrolladas durante el transcurso del curso, se utilizará el
usuario root de forma local.

COMANDOS INICIALES MYSQL


La gestión del DBMS MySQL se basa en la conexión desde un cliente de MySQL hacia el servidor,
dicha conexión, se puede ejecutar con los comandos vistos en el tema Ingresar a MySQL, los
cuales consisten en hacer uso del software cliente de consola denominado mysql.
También existen otros clientes los cuales constan de una GUI (Graphic User Interface), los cuales
permiten ejecutar los mismos comandos pero simplemente haciendo clic sobre la opción
respectiva.
Para este tutorial, se hará uso de los comandos de consola mysql.

JOSE PALACIO VELASQUEZ Página 2


Se debe tener en cuenta que cualquier comando de MySQL que se desee ejecutar se debe
terminar con un punto y coma (;).
Los comandos pueden ser escritos en varias líneas, pero hasta que no se escriba el punto y coma,
el servidor no da por finalizada la escritura del comando.
mysql> comando parametros
-> parametros
-> parametros;
mysql>
Se observa que el prompt de MySQL cambia a ->, indicando que la instrucción continua de la línea
anterior.
Si por alguna razón se abren comillas (dobles o simples) y se presiona la tecla enter, el prompt
indicará que dichas comillas se encuentran abiertas.

mysql> comando parametros = ‘valor


‘> ’ parametros = ‘valor’
-> parametros;
mysql>
Se debe tener muy encuenta el prompt de MySQL para determinar el estado en que quedo la línea
anterior, y poder escribir la instrucción de la forma correcta.
Una vez que se presiona la tecla Enter, ya no se podrán corregir errores cometidos en la línea
anterior.

SHOW DATABASES
Permite visualizar la lista de las bases de datos almacenadas en el servidor.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| campeonato |
| information_schema |
| inventario |
| mysql |
| performance_schema |
| programas |
| sys |
| ventas |
+--------------------+
8 rows in set (0.01 sec)

USE
Permite seleccionar la base de datos con la que se desea trabajar. Cuando se utiliza este comando
se le dice a MySQL que los comandos asociados a las bases de datos y sus contenidos se aplicarán
sobre la base de datos seleccionada.
mysql> use programas;
Database changed

JOSE PALACIO VELASQUEZ Página 3


CONNECT
Al igual que el comando USE permite conectarse a una base de datos específica.
mysql> connect programas;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Connection id: 53
Current database: programas

SHOW TABLES
Permite mostrar la lista de todas las tablas que hacen parte de la base de datos seleccionada.
Por ejemplo, si estuviera seleccionada la base de datos mysql, el resultado sería algomo como:
mysql> show tables;
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| engine_cost |
| event |
| func |
| general_log |
| gtid_executed |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| innodb_index_stats |
| innodb_table_stats |
| ndb_binlog_index |
| plugin |
| proc |
| procs_priv |
| proxies_priv |
| server_cost |
| servers |
| slave_master_info |
| slave_relay_log_info |
| slave_worker_info |
| slow_log |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+---------------------------+
31 rows in set (0.00 sec)

JOSE PALACIO VELASQUEZ Página 4


En los ambientes de consola es probable que se carge toda la información y no se alcance a
visualizar la información inicial.

DESCRIBE
Muestra una descripción de la tabla seleccionada.
mysql> describe db;
+-----------------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------------+---------------+------+-----+---------+-------+
| Host | char(60) | NO | PRI | | |
| Db | char(64) | NO | PRI | | |
| User | char(32) | NO | PRI | | |
| Select_priv | enum('N','Y') | NO | | N | |
| Insert_priv | enum('N','Y') | NO | | N | |
| Update_priv | enum('N','Y') | NO | | N | |
| Delete_priv | enum('N','Y') | NO | | N | |
| Create_priv | enum('N','Y') | NO | | N | |
| Drop_priv | enum('N','Y') | NO | | N | |
| Grant_priv | enum('N','Y') | NO | | N | |
| References_priv | enum('N','Y') | NO | | N | |
| Index_priv | enum('N','Y') | NO | | N | |
| Alter_priv | enum('N','Y') | NO | | N | |
| Create_tmp_table_priv | enum('N','Y') | NO | | N | |
| Lock_tables_priv | enum('N','Y') | NO | | N | |
| Create_view_priv | enum('N','Y') | NO | | N | |
| Show_view_priv | enum('N','Y') | NO | | N | |
| Create_routine_priv | enum('N','Y') | NO | | N | |
| Alter_routine_priv | enum('N','Y') | NO | | N | |
| Execute_priv | enum('N','Y') | NO | | N | |
| Event_priv | enum('N','Y') | NO | | N | |
| Trigger_priv | enum('N','Y') | NO | | N | |
+-----------------------+---------------+------+-----+---------+-------+
22 rows in set (0.01 sec)
La descripción incluye la siguiente información:
 Field: Nombre del campo.
 Type: Tipo de dato
 Null: Define si se permiten o no valores nulos en el campo
 Key: Tipo de llave del campo (si el campo se usa en alguna llave)
o PRI: Llave primaria
 Default: Define un valor por defecto para el campo, si no se registra ningún valor
especifico al insertar datos en el campo, el sistema asigna el valor por defecto.
 Extra: Información de características adicionales de los campos.
Esta estructura mostrada por el comando describe, hace parte de un elemento fundamental del
diseño y construcción de una base de datos, el llamado diccionario de datos, en el cual se
presenta una lista de los campos de cada tabla y las características de los mismos, junto con una
breve descripción de dichos campos.

JOSE PALACIO VELASQUEZ Página 5


SELECT DATABASE()
Muestra la base de datos que se está utilizando.
mysql> select database();
+------------+
| database() |
+------------+
| mysql |
+------------+
1 row in set (0.00 sec)

SELECT CURRENT_USER()
Muestra el usuario actual.
mysql> SELECT CURRENT_USER();
+----------------+
| CURRENT_USER() |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.01 sec)

SELECT VERSION()
Muestra la versión del servidor de MySQL.
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.7.19 |
+-----------+
1 row in set (0.00 sec)

SHOW PROCESSLIST
Muestra la lista de procesos que están corriendo en el sistema, incluido el usuario que lo está
ejecutando y desde que máquina.
mysql> show processlist
+--+----+----------------+----+--------+----+------+-----------------+
|Id|User|Host |db |Command |Time|State |Info |
+--+----+----------------+----+--------+----+------+-----------------+
| 1|root|localhost:49526 |NULL|Sleep | 13| |NULL |
| 2|root|localhost:49529 |NULL|Query | 0|NULL |SHOW PROCESSLIST |
| 3|root|localhost:49533 |NULL|Sleep | 50| |NULL |
| 4|root|localhost:49547 |NULL|Sleep | 18| |NULL |
+--+----+----------------+----+--------+----+------+-----------------+
4 rows in set (0.00 sec)

JOSE PALACIO VELASQUEZ Página 6

También podría gustarte