Este documento describe MySQL, una popular base de datos de código abierto ampliamente utilizada para aplicaciones web. Explica cómo acceder de forma remota a un servidor MySQL desde Windows, Linux o Mac usando PuTTY. También proporciona instrucciones sobre cómo conectarse a la base de datos, crear tablas y usuarios, e insertar, consultar, actualizar y eliminar datos. Finalmente, introduce PHPMyAdmin como una interfaz web para administrar bases de datos MySQL.
2. 2
una vez instalado PuTTY podemos acceder al servidor por medio de la dirección IP del servidor y el puerto de comunicación
de SSH que es el 22. Una vez establecida la comunicación se deberá ingresar el nombre de usuario del servidor con su
contraseña para este servidor web SRVweb el usuario es: usuario y la contraseña es: 123456789
3. 3
Conexión a la base de datos por medio de la terminal
Creación de usuario en caso de faltar
CREATE USER 'nombre_usuario'@'localhost' IDENTIFIED BY 'tu_contrasena';
Hasta este punto se ha creado el usuario pero se requiere darle permisos para el acceso a la base el comando GRANT ALL
PRIVILEGES brinda permisos al usuario sobre las bases de datos especificadas.
GRANT ALL PRIVILEGES ON * . * TO 'nombre_usuario'@'localhost';
Los asteriscos en este comando hacen referencia a la base de datos y la tabla (respectivamente) a la cual el nuevo usuario
tendrá acceso, *.* hace por defecto referencia a todas las bases de datos; específicamente este comando permite al usuario leer,
editar, ejecutar y realizar todas las tareas en todas las bases de datos y tablas.
Una vez que has finalizado con los permisos que deseas configurar para tus nuevos usuarios, hay que asegurarse siempre de
refrescar todos los privilegios.
FLUSH PRIVILEGES;
ACCESO A LA BASE DE DATOS
usuario@SRVWeb:~$ mysql -u usuario -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or g.
Your MariaDB connection id is 1332
Server version: 10.1.23-MariaDB-9+deb9u1 Debian 9.0
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
MariaDB [(none)]
Visualizando las bases de datos con el comando SHOW DATABASES
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| pruebas |
+--------------------+
2 rows in set (0.01 sec)
Seleccionar la base de datos con el comando USE
MariaDB [(none)]> use pruebas;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
4. 4
En su forma más simple, la sentencia CREATE TABLE creará una tabla con las columnas que indiquemos.
Crearemos, como ejemplo, una tabla que nos permitirá almacenar nombres de personas y sus fechas de
nacimiento. Deberemos indicar el nombre de la tabla y los nombres y tipos de las columnas:
MariaDB [pruebas]> create table gente (nombre VARCHAR(40), fecha DATE);
Query OK, 0 rows affected (0.12 sec)
Comprobamos la creación de la base de datos con el comando SHOW TABLES.
MariaDB [pruebas]> show tables;
+-------------------+
| Tables_in_pruebas |
+-------------------+
| gente |
| |
+-------------------+
Para cada columna también se puede definir, opcionalmente, un valor por defecto. El valor por defecto se asignará
de forma automática a una columna cuando no se especifique un valor determinado al añadir filas.
Si una columna puede tener un valor nulo, y no se especifica un valor por defecto, se usará NULL como valor por
defecto. En el ejemplo anterior, el valor por defecto para poblacion es NULL.
Por ejemplo, si queremos que el valor por defecto para poblacion sea 5000, podemos crear la tabla como:
MariaDB [pruebas]> CREATE TABLE ciudad2 (nombre CHAR(20) NOT NULL,
-> poblacion INT NULL DEFAULT 5000);
Query OK, 0 rows affected (0.09 sec)
También se puede definir una clave primaria sobre una columna, usando la palabra clave KEY o PRIMARY KEY.
Sólo puede existir una clave primaria en cada tabla, y la columna sobre la que se define una clave primaria no
puede tener valores NULL. Si esto no se especifica de forma explícita, MySQL lo hará de forma automática.
Por ejemplo, si queremos crear un índice en la columna nombre de la tabla de ciudades, crearemos la tabla así:
MariaDB [pruebas]> CREATE TABLE ciudad3 (nombre CHAR(20) NOT NULL PRIMARY KEY,
-> poblacion INT NULL DEFAULT 5000);
Query OK, 0 rows affected (0.20 sec)
Usar NOT NULL PRIMARY KEY equivale a PRIMARY KEY, NOT NULL KEY o sencillamente KEY. Personalmente,
prefiero usar la primera forma o la segunda.
Existe una sintaxis alternativa para crear claves primarias, que en general es preferible, ya que es más potente. De
hecho, la que hemos explicado es un alias para la forma general, que no admite todas las funciones (como por
ejemplo, crear claves primarias sobre varias columnas). Veremos esta otra alternativa un poco más abajo.
5. 5
El comando DROP TABLE permite eliminar la tabla de la base de datos, DROP DATABASE elimina toda la base de
datos
MariaDB [pruebas]> DROP TABLE gente;
Query OK, 0 rows affected (0.04 sec)
MySQL es un sistema gestor de bases de datos que funciona con usuarios y permisos. Cuando se realiza una
conexión a una base de datos desde una página web se debe emplear un usuario especial para reducir los riesgos
de seguridad y evitar que un usuario malintencionado pueda modificar o incluso eliminar toda una base de datos.
El usuario para conectarse desde una página web debe tener otorgados únicamente los permisos para manipular
los datos (SELECT, INSERT, UPDATE y DELETE) y NO los permisos para cambiar la estructura (CREATE, ALTER,
etc.) o administrar (GRANT, SHUTDOWN, etc.) la base de datos.
El comando DESCRIBE permite visualizar las propiedades de la tabla de la base de datos
MariaDB [pruebas]> describe gente;
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| nombre | varchar(40) | YES | | NULL | |
| fecha | date | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
insertar campos en la tabla con la consulta SQL
MariaDB [pruebas]> INSERT INTO gente (nombre,fecha) VALUES ("Andres", "1987-10-8");
Consultar todos los campos de una tabla
MariaDB [pruebas]> SELECT * FROM gente;
+--------+------------+
| nombre | fecha |
+--------+------------+
| Andres | 1987-10-08 |
+--------+------------+
1 rows in set (0.00 sec)
consultar por columna en una tabla
MariaDB [pruebas]> select nombre from gente;
+--------+
| nombre |
+--------+
| Andres |
+--------+
1 rows in set (0.00 sec)
6. 6
modificar los registros de una tabla
MariaDB [pruebas]> UPDATE gente SET nombre="pedro";
Query OK, 5 rows affected (0.01 sec)
Comprobamos los cambios
MariaDB [pruebas]> select nombre from gente;
+--------+
| nombre |
+--------+
| pedro |
+--------+
1 rows in set (0.00 sec)
borrar registros de una tabla por nombre de registro
MariaDB [pruebas]> DELETE FROM gente WHERE nombre="pedro";
Query OK, 5 rows affected (0.01 sec)
Hasta ahora sabemos lo necesario en conceptos y manipulación de bases de datos en modo consola, Ahora veremos
como se manipula la base de datos por medio de un front en que nos brinda PHPMyAdmin
PHPMyAdmin
phpMyAdmin es una herramienta escrita en PHP con la intención de manejar la administración de MySQL a través
de páginas web, utilizando Internet. Actualmente puede crear y eliminar Bases de Datos, crear, eliminar y alterar
tablas, borrar, editar y añadir campos, ejecutar cualquier sentencia SQL, administrar claves en campos, administrar
privilegios, exportar datos en varios formatos
Para acceder al servicio del servidor diríjase al browser de su preferencia y digite en la URL la dirección IP del
servidor seguido de phpmyadmin http://192.168.1.7/phpmyadmin/