1 00:00:00,000 --> 00:00:03,200 Nos encontramos en nuestro servidor MySQL. 2 00:00:03,779 --> 00:00:07,820 Desde aquí lo que vamos a hacer es conectarnos a nuestro servicio MySQL 3 00:00:07,820 --> 00:00:14,359 para crear una base de datos de ejemplo con una tabla y una serie de registros, 4 00:00:14,580 --> 00:00:15,300 una serie de valores. 5 00:00:16,300 --> 00:00:20,940 Luego lo que vamos a hacer es conectar nuestra base de datos con un sistema gestor de base de datos 6 00:00:20,940 --> 00:00:27,280 que puede administrar, gestionar nuestra base de datos a través de su panel visual. 7 00:00:27,280 --> 00:00:44,039 Vamos a elegir dos sistemas gestores de datos para ver cómo se conectan. En nuestro caso MySQL Workbench que tiene una integración total con MySQL y DB Visualizer que hace una integración con multitud de sistemas de bases de datos, incluido MySQL. 8 00:00:44,039 --> 00:00:58,380 Pues vamos a comenzar conectándonos a nuestro servicio de MySQL con sudo mysql-u para seleccionar el usuario con el que queremos conectarnos, en nuestro caso root, menos p para introducir la contraseña. 9 00:00:58,840 --> 00:01:05,799 Si ponemos la contraseña acto seguido en menos p se conectaría, pero pasaría que se vería la contraseña en pantalla. 10 00:01:05,799 --> 00:01:12,000 Para eso lo que hacemos es dejarlo vacío y que el sistema nos pida la contraseña y que no se vea. 11 00:01:12,000 --> 00:01:22,200 Ahora introducimos nuestra contraseña y ya estamos conectados a nuestro servicio de MySQL. 12 00:01:22,680 --> 00:01:24,680 Ahora vamos a crear la base de datos. 13 00:01:25,200 --> 00:01:30,319 Todos los comandos que tienen que ver con MySQL vamos a ponerlos en mayúsculas 14 00:01:30,319 --> 00:01:37,459 para que podamos distinguir fácilmente lo que es palabras reservadas de MySQL de lo que son datos. 15 00:01:38,379 --> 00:01:39,739 Vamos a crearnos una base de datos. 16 00:01:39,739 --> 00:01:39,819 Vamos a crear una base de datos. 17 00:01:39,900 --> 00:01:45,180 Create database y vamos a ponerle un nombre. 18 00:01:45,180 --> 00:01:48,280 En nuestro caso vamos a crearnos la base de datos de un banco. 19 00:01:49,359 --> 00:01:57,209 Vamos a decir que es la que vamos a usar y ya estaría. 20 00:01:57,890 --> 00:02:00,290 Ahora vamos a crearnos una tabla. 21 00:02:01,030 --> 00:02:06,349 Esa tabla, pues por ejemplo, ya que estamos en un banco, vamos a crearnos una tabla de cuentas bancarias. 22 00:02:07,189 --> 00:02:18,219 Puedes hacer un create table, ponemos cuentas bancarias y ahora vamos introduciendo cada uno de los campos. 23 00:02:18,219 --> 00:02:36,139 Pues abrimos paréntesis y decimos, pues un primer campo puede ser el número de la cuenta, num cuenta, y este número de cuenta vamos a decir que es en entero y nuestra clave primaria, primary key. 24 00:02:36,139 --> 00:02:53,280 Y vamos a añadir otro campo que puede ser el nombre del titular de esta cuenta, que vamos a meterlo como un barchar, que es una cadena de caracteres de 15 caracteres. 25 00:02:54,020 --> 00:02:58,000 Y vamos a forzar que no admita nulos. 26 00:03:00,229 --> 00:03:06,409 Y ahora, por último, pues por ejemplo, el saldo de la cuenta, que va a ser un entero. 27 00:03:06,409 --> 00:03:14,639 Ahora cerramos nuestra creación de tabla y ya tenemos creada nuestra tabla. 28 00:03:15,020 --> 00:03:18,080 Ahora vamos a meter una serie de valores en la tabla. 29 00:03:18,699 --> 00:03:29,620 Para ello utilizamos insert into, metemos una serie de valores en nuestra tabla cuentas bancarias 30 00:03:29,620 --> 00:03:36,680 y metemos una serie de valores. 31 00:03:36,680 --> 00:04:06,659 Pues el número de la cuenta, vamos a decir que es la cuenta número 1 y la cuenta número 1 va a ser de Juan y dentro de esta cuenta Juan podemos añadirle un saldo de 1.000. 32 00:04:06,680 --> 00:04:23,610 500, otra cuenta, que va a ser, por ejemplo, Carlos, que va a tener 2000, y ya tendríamos tres valores para nuestra cuenta. 33 00:04:24,329 --> 00:04:29,569 Ya hemos guardado tres valores que nos van a servir de ejemplo en nuestra cuenta. 34 00:04:29,569 --> 00:04:39,250 Ahora vamos a crearnos unos usuarios que nos puedan servir para gestionar y conectarnos a nuestra base de datos. 35 00:04:39,589 --> 00:04:49,790 Vamos a crearnos un usuario que pueda conectarse desde cualquier red a nuestra base de datos y que además tenga todos los privilegios. 36 00:04:49,790 --> 00:05:01,949 Y luego vamos a crearnos otro usuario que pueda conectarse también desde cualquier red, pero solo pueda tener acceso a esta base de datos y a esta tabla en concreto. 37 00:05:01,949 --> 00:05:19,459 ¿De acuerdo? Así que vamos a crear un usuario, createUser, que vamos a llamar, por ejemplo, admin5, bueno, o admin6, arroba, tanto por ciento. 38 00:05:19,920 --> 00:05:24,040 El tanto por ciento es para indicar que puede conectarse desde cualquier red. 39 00:05:24,040 --> 00:05:32,699 El nombre de nuestro usuario es admin6, arroba, tanto por ciento, donde el porcentaje, repito, es que se puede conectar desde cualquier red. 40 00:05:32,699 --> 00:05:41,839 Porque ahí podríamos indicar que es localhost, si vamos a conectarnos desde nuestra propia máquina, o una dirección IP concreta, o un rango de direcciones IP. 41 00:05:42,699 --> 00:05:59,560 Ahora, identified, identificación, con, y vamos a indicar cómo nos vamos a identificar, pues queremos una contraseña de identificación que sea segura. 42 00:05:59,560 --> 00:06:06,040 Entonces, con una contraseña, con el password seguro. 43 00:06:07,060 --> 00:06:07,779 Bye. 44 00:06:09,019 --> 00:06:12,480 Y introducimos la contraseña, pues por ejemplo, esta de aquí. 45 00:06:21,000 --> 00:06:24,079 Ya nos hemos creado el usuario de nuestra base de datos. 46 00:06:24,680 --> 00:06:26,139 Cambiamos los privilegios. 47 00:06:27,660 --> 00:06:37,379 Queremos todos los privilegios, privilegios, sobre nuestra base de datos, la que acabamos de crear. 48 00:06:37,379 --> 00:06:46,759 Pues le vamos a decir que este usuario va a tener los privilegios de nuestra base de datos que nos acabamos de crear y sobre todas las tablas. 49 00:06:47,180 --> 00:06:54,220 Lo primero se indica la base de datos, punto, y la tabla o tablas, sobre las que queramos que tenga todos los privilegios. 50 00:06:54,300 --> 00:06:55,639 En este caso son todas. 51 00:06:56,399 --> 00:07:04,259 El usuario admin6, que se puede conectar desde cualquier red. 52 00:07:04,259 --> 00:07:38,370 Ahora, creamos otro usuario que vamos a llamar, por ejemplo, asesor, arroba, también que se pueda conectar desde cualquier red, with, y ahora, ¿cómo se quiere conectar? Pues de forma segura, porque vamos a utilizar un sistema de contraseñas seguro. 53 00:07:38,370 --> 00:08:12,779 Y ya lo tendríamos. Ahora vamos a otorgar los privilegios a este nuevo usuario. No le vamos a decir que le vamos a dar todos los privilegios, solo le vamos a permitir la consulta, select, on, ¿sobre qué? Sobre nuestra base de datos y solo sobre nuestra tabla. 54 00:08:12,779 --> 00:08:27,389 ¿A quién? Al usuario que nos acabamos de crear, que se llama asesor, roba y que puede conectarse desde cualquier red. 55 00:08:28,029 --> 00:08:44,970 Ya estaría. Bueno, ya hemos creado en nuestro servicio de MySQL una base de datos, le hemos dicho que use esa, que cree una tabla y le hemos metido unos datos para tener unos valores de ejemplo y dos usuarios dentro de nuestra base de datos. 56 00:08:44,970 --> 00:08:58,970 Uno que puede acceder desde cualquier red y tiene todos los privilegios y otro que puede acceder desde cualquier red y que solo tiene acceso a consulta de nuestra base de datos en la tabla cuentas bancarias. 57 00:08:59,370 --> 00:09:11,769 Nos salimos fuera del sistema y ahora lo que queremos es configurar nuestro servicio de MySQL para que admita, acepte cualquier petición de cualquier red. 58 00:09:11,769 --> 00:09:17,850 Así que nos vamos a ir a modificar el fichero de configuración. 59 00:09:18,049 --> 00:09:22,610 Como en nuestro caso tenemos instalado nuestro editor bin, 60 00:09:22,789 --> 00:09:28,629 pues vamos a editar el fichero de configuración de MySQL con nuestro editor bin, 61 00:09:29,049 --> 00:09:38,830 que se encuentra en barra tc barra mysql barra mysqlconf punto d barra mysqld punto cnf. 62 00:09:39,570 --> 00:09:46,129 Entramos y llegamos al apartado donde vienen las IPs desde las que se admiten las conexiones. 63 00:09:46,330 --> 00:09:52,590 En nuestro caso, ahora mismo, solo está admitiendo una conexión de localhost, de nuestra propia máquina. 64 00:09:52,590 --> 00:10:02,169 Para decir que queremos admitir conexión desde cualquier red, es 0.0.0.0. 65 00:10:02,169 --> 00:10:12,590 Si ahora le damos a guardar, ya hemos preparado la configuración de nuestro fichero de MySQL para que admita cualquier conexión de cualquier red. 66 00:10:13,029 --> 00:10:15,250 Pero estos cambios aún no se han producido. 67 00:10:15,710 --> 00:10:23,529 Hemos modificado el fichero de configuración, pero para que estos cambios se produzcan debemos resetear nuestro servicio de MySQL. 68 00:10:24,370 --> 00:10:29,529 Así que vamos a decir que restar el servicio. 69 00:10:33,299 --> 00:10:36,139 Ahora ya sí, se han aplicado todos los cambios. 70 00:10:36,639 --> 00:10:38,539 Ya podríamos admitir conexiones. 71 00:10:39,980 --> 00:10:44,220 Nos vamos a ir a nuestra VirtualBox, a nuestra máquina virtual, 72 00:10:44,220 --> 00:10:52,519 y resulta que si queremos conectar algo a nuestra máquina virtual donde tenemos nuestra base de datos, 73 00:10:52,879 --> 00:10:54,820 tenemos que hacer una redirección de puertos. 74 00:10:54,820 --> 00:11:06,019 El puerto por defecto que usa MySQL para conectar, para dar servicio de las bases de datos es el 3306. 75 00:11:06,299 --> 00:11:13,379 Así que el puerto de nuestra máquina por aquí nos va a ofrecer la conexión a nuestra base de datos. 76 00:11:14,139 --> 00:11:21,120 Nosotros lo que vamos a hacer en nuestra máquina anfitriona es enlazar ese puerto donde está nuestra base de datos 77 00:11:21,120 --> 00:11:25,899 con un puerto de nuestra máquina anfitriona, que podemos ser el que quieras. 78 00:11:26,080 --> 00:11:33,559 Podríamos elegir el 3306 también, pero para no confundirnos vamos a elegir, por ejemplo, el 8001. 79 00:11:33,559 --> 00:11:43,059 Y vamos a llamarle a esto MySQL, para que así quede identificado que esta redirección de puertos 80 00:11:43,059 --> 00:11:45,960 tiene que ver con nuestra conexión a MySQL. 81 00:11:46,559 --> 00:11:49,279 Le damos a aceptar y ya estaría. 82 00:11:49,279 --> 00:11:56,019 ahora nos vamos a nuestra máquina anfitriona y vamos a crearnos una nueva conexión 83 00:11:56,019 --> 00:12:02,220 desde nuestro sistema gestor de base de datos MySQL Workbench con nuestra base de datos 84 00:12:02,220 --> 00:12:08,600 para ello le damos aquí al más y lo que nos va a pedir lo primero es un nombre de la conexión 85 00:12:08,600 --> 00:12:11,759 que puede ser nombre conexión 86 00:12:11,759 --> 00:12:20,159 ahora nos pide una IP, la IP del hostname, es decir de la máquina en la que nos encontramos 87 00:12:20,159 --> 00:12:28,019 Si hacemos un ipconfig, vemos que nuestra máquina tiene la IP 192.168.1.130. 88 00:12:28,480 --> 00:12:34,000 Pues nos venimos aquí, 192.168.1.130. 89 00:12:34,519 --> 00:12:41,460 El puerto al que nos vamos a conectar no es el 3306, que es el puerto de MySQL, 90 00:12:42,259 --> 00:12:45,559 porque lo que tenemos es redirigido el puerto. 91 00:12:45,559 --> 00:12:59,740 Tenemos el puerto 3306 de nuestra máquina virtual, que es nuestro servidor Apache, y lo hemos redirigido al puerto de nuestra máquina anfitriona en el 8001. 92 00:13:00,159 --> 00:13:08,559 El usuario con el que nos vamos a conectar es con el que hemos creado que podemos conectarnos desde cualquier red, que es admin06. 93 00:13:08,559 --> 00:13:20,279 06 y le vamos a introducir la contraseña, OK, y vamos a comprobar si podemos conectar 94 00:13:20,279 --> 00:13:27,360 y efectivamente, éxito, podemos realizar la conexión a nuestra base de datos. Le damos 95 00:13:27,360 --> 00:13:34,720 OK y hacemos OK y ya se ha creado nuestra conexión para poder acceder a nuestro Workbench. 96 00:13:34,720 --> 00:13:42,360 Si hacemos doble clic, pues podemos ya acceder a nuestro panel de control donde podemos interactuar 97 00:13:42,360 --> 00:13:48,899 con todas las bases de datos y administrar toda la base de datos que se encuentra en MySQL. 98 00:13:49,419 --> 00:13:53,820 Desde aquí podemos crear las bases de datos, hacer una gestión de usuarios, 99 00:13:55,259 --> 00:13:59,940 poder crear tablas, meter contenido adentro de las tablas, etc. 100 00:14:00,419 --> 00:14:03,840 Ahora vamos a irnos a nuestro segundo gestor de base de datos 101 00:14:03,840 --> 00:14:08,720 para poder ver que podemos realizar exactamente la misma conexión. 102 00:14:08,720 --> 00:14:24,259 Desde el DB Visualizer le damos a crear conexión, elegimos con qué base de datos queremos crear la conexión, en nuestro caso MySQL 8 y simplemente tenemos que configurar aquí los parámetros. 103 00:14:24,259 --> 00:14:49,019 Pues lo mismo, en vez de localhost, lo que vamos a poner es nuestra IP, la que hemos visto antes, 192.168.1.130, el puerto lo tenemos redirigido, 8001, y nuestro usuario con el que nos vamos a conectar era admin6 y la contraseña que teníamos. 104 00:14:49,019 --> 00:15:08,970 Introducimos la contraseña y le damos al test de conexión y comprobamos si podemos conectarlos y efectivamente, la conexión ha sido concluida con éxito y podemos realizar esa conexión a la base de datos. 105 00:15:08,970 --> 00:15:22,269 Y a partir de aquí ya tenemos acceso a todas las bases de datos e igualmente podíamos gestionar más bases de datos, crear tablas, insertar contenidos o controlar usuarios. 106 00:15:22,269 --> 00:15:41,559 Para comprobar que tenemos acceso a la base de datos que habíamos creado, le damos aquí a Database, vemos que tenemos nuestra base de datos del banco, vemos que dentro del tablas tenemos nuestras cuentas bancarias y podemos ver cómo está creada nuestra cuenta. 107 00:15:41,820 --> 00:15:54,740 Si queremos acceder al contenido de nuestra cuenta, hacemos doble clic y vemos que podemos aquí manipular la tabla. Podríamos realizar diferentes operaciones sobre la tabla. 108 00:15:55,639 --> 00:16:03,139 Podemos añadir más datos, añadir más campos, modificar los campos en los que está, igualdarnos. 109 00:16:03,600 --> 00:16:07,460 Igualmente que aquí en tablas, podemos añadir más tablas. 110 00:16:07,740 --> 00:16:14,120 Únicamente tenemos esta tabla y aquí podríamos añadir más tablas si quisiéramos a nuestra base de datos. 111 00:16:14,740 --> 00:16:17,840 Igualmente podríamos crear desde aquí más bases de datos. 112 00:16:18,620 --> 00:16:24,580 Solo tenemos la del banco y estos son esquemas que ya vienen por defecto y añadir más bases de datos. 113 00:16:24,860 --> 00:16:25,860 Gracias.