Diferencia entre revisiones de «Recetas/mariadbbasico»

De FESOL. Proyectos de Software Libre ULS
Saltar a: navegación, buscar
(Página creada con « == Resumen de la receta == == Requisitos == * Debian GNU/Linux Stretch 9.x * mariadb-server 10.1 * Tener configurado los repositorios, ver Recetas/repositorio ==...»)
 
 
(No se muestran 10 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
  
 
== Resumen de la receta ==
 
== Resumen de la receta ==
 
+
Instalación y configuración de un servidor de bases de datos de MariaDB.
 +
Video disponible en: [https://youtu.be/sCUaaYDzZiI]
  
 
== Requisitos ==
 
== Requisitos ==
Línea 7: Línea 8:
 
* Debian GNU/Linux Stretch 9.x
 
* Debian GNU/Linux Stretch 9.x
 
* mariadb-server 10.1
 
* mariadb-server 10.1
 +
* Conocimiento básico de lenguaje SQL
 
* Tener configurado los repositorios, ver [[Recetas/repositorio]]
 
* Tener configurado los repositorios, ver [[Recetas/repositorio]]
 
  
 
== Instalación de programas ==
 
== Instalación de programas ==
 +
Vamos a instalar el servidor de mariadb con el metapaquete mariadb-server. En caso de que solo quisieramos instalar el cliente podemos instalar el paquete mariadb-client.
 
  apt-get install mariadb-server
 
  apt-get install mariadb-server
  
 
== Configuración ==
 
== Configuración ==
Para la crear el usuario y la base de datos, se puede hacer desde modo grafico con mysql workbench, modo web con phpmyadmin o en modo cli. Acá lo haremos en modo cli.
+
=== Crear Usuario ===
 +
Para la crear el usuario y la base de datos, se puede hacer desde modo grafico con mysql workbench, modo web con phpmyadmin o en modo cli. Acá lo haremos en modo cli. Es de diferenciar los comandos ejecutados en la SHELL de GNU/Linux (llevan el caracter #) y los comandos ejecutados en el CLI de MariaDB (Tienen el caracter >).
  
Ingresamos al modo cli
+
Ingresamos al modo CLI de MariaDB
   mysql  -u root
+
   # mysql  -u root
Nota: en caso de que le hayamos asignado una clave al usuario, se debe pasarle el parámetro ''-p'' de modo que el comando quedaría como ''mysql -u root -p''
+
Cambiamos a la base de datos MariaDB
 +
  MariaDB [(none)]>use mysql
 +
Listamos las tablas de esa DB
 +
  MariaDB [mysql]>show tables;
 +
Listamos los usuarios que existen
 +
  MariaDB [mysql]>select * from user;
 +
Creamos el usuario uls
 +
  MariaDB [mysql]>create user 'uls'@'%';
 +
Listamos de nuevo los usuarios
 +
  MariaDB [mysql]>select * from user;
 +
Le asignamos una clave al  neuvo usuario
 +
  MariaDB [mysql]>set password for 'uls'@'%'  = password('uls');
 +
Verificamos que se le haya asignado la clave al usuario
 +
  MariaDB [mysql]>select * from user;
 +
Nos salimos del CLI de MySQL
 +
  MariaDB [mysql]>exit
 +
Verificamos desde la terminal de GNU/Linux las credenciales del nuevo usuario
 +
  #mysql -u uls -p
 +
Observamos que bases puede ver el nuevo usuario
 +
  MariaDB [(none)]>show databases;
 +
 
 +
'''Nota''': en caso de que le hayamos asignado una clave al usuario, se debe pasarle el parámetro ''-p'' de modo que el comando quedaría como ''mysql -u root -p''
 +
=== Crear Base de datos ===
  
 
Creamos la base de datos
 
Creamos la base de datos
  mysql> create database prueba;
+
  MariaDB [(none)]>create database prueba;
Creamos el usuario y la clave para la base
+
 
  mysql> grant all privileges on prueba.* to 'usuario'@localhost identified by 'prueba';
+
=== Definiendo Privilegios ===
 +
 
 +
Para ver los niveles de privilegios, pueden verlos desde [https://mariadb.com/kb/en/library/grant/]
 +
Asignando privilegios al usuario uls en la base de datos uls
 +
  MariaDB [(none)]> grant all privileges on prueba.* to 'uls'@'%';
 +
ó
 +
MariaDB [(none)]> grant create,drop,index,create view,trigger,alter,select,update,insert on prueba.* to 'uls'@'%';
 
Aplicamos los cambios de privilegios  
 
Aplicamos los cambios de privilegios  
  mysql> flush privileges;
+
  MariaDB [(none)]> flush privileges;
 
Nos vamos a la base de mysq para ver cuales son los usuarios que tiene mysql
 
Nos vamos a la base de mysq para ver cuales son los usuarios que tiene mysql
  mysql> use mysql
+
  MariaDB [(none)]> use mysql
  mysql> select * from user;
+
  MariaDB [(none)]> select * from user;
 
Verificamos los privilegios que tiene el usuario ''usuario'' que se conecta desde ''localhost''
 
Verificamos los privilegios que tiene el usuario ''usuario'' que se conecta desde ''localhost''
  mysql> show grants for 'usuario'@localhost;
+
  MariaDB [(none)]> show grants for 'uls'@'%';
 
Nos conectamos a la base de datos prueba
 
Nos conectamos a la base de datos prueba
  mysql> use prueba
+
 
Creamos una tabla simple de pruebas llamad curso
+
=== Creando las Tablas ===
  mysql> create table curso(identificacion int);
+
Para crear las tablas y sus datos, usaremos el nuevo usuario creado.
 +
  mysql -p -u uls
 +
E ingresamos la clave que le configuramos. Si todo salio bien, deberá aparecernos el cli de MariaDB
 +
 
 +
Listamos las bases
 +
MariaDB [prueba]> show databases
 +
Seleccionamos la base donde insertaremos los datos
 +
MariaDB [prueba]> use prueba
 +
Creamos dos tablas simples de pruebas llamadas aula y curso relacionada con la llave ID de que cada curso tiene un aula asignada
 +
MariaDB [prueba]>  CREATE TABLE aula(id INT NOT NULL, nombre VARCHAR(20), PRIMARY KEY ( id ) );
 +
  MariaDB [prueba]> CREATE TABLE curso(id INT NOT NULL, nombre VARCHAR(20),id_aula INT, PRIMARY KEY ( id ),FOREIGN KEY (id_aula) REFERENCES aula(id)  );
 
Verificamos que la tabla haya sido creada
 
Verificamos que la tabla haya sido creada
  mysql> show tables;
+
  MariaDB [prueba]> show tables;
 
Mostramos los campos de la tabla creada
 
Mostramos los campos de la tabla creada
  mysql> describe  curso;
+
  MariaDB [prueba]> describe  curso;
 +
 
 +
=== Insertando Datos en las Tablas ===
 
Insertamos datos en la tabla
 
Insertamos datos en la tabla
  mysql> insert into curso values(2);
+
  MariaDB [prueba]> insert into aula values(1,'Computo B1');
  mysql> insert into curso values(3);  
+
MariaDB [prueba]> insert into aula values(2,'Computo C1');
 +
MariaDB [prueba]>  insert into curso values(1,'redes I',1);  
 +
  MariaDB [prueba]> insert into curso values(2,'Sistemas',2);  
 
Verificamos los datos insertados
 
Verificamos los datos insertados
  mysql> select * from curso;
+
  MariaDB [prueba]> select * from aula;
 +
MariaDB [prueba]> select * from curso;
 
Nos salimos
 
Nos salimos
  mysql> exit
+
  MariaDB [prueba]> exit
 +
 
 +
== Instalacion phpmyadmin ==
  
Ahora verificamos la conexión con el usuario que creamos
+
  apt-get install phpmyadmin
  mysql -p -u usuario
 
E ingresamos la clave que le configuramos. Si todo salio bien, deberá aparecernos el cli de mysql
 
  
 +
Ahora se abrir en el navegador http://<IP del servidor>/phpmyadmin
  
 
== Referencias ==
 
== Referencias ==
 +
* https://mariadb.com/kb/en/library/grant/
 +
*

Revisión actual del 09:53 20 may 2018

Resumen de la receta

Instalación y configuración de un servidor de bases de datos de MariaDB. Video disponible en: [1]

Requisitos

  • Debian GNU/Linux Stretch 9.x
  • mariadb-server 10.1
  • Conocimiento básico de lenguaje SQL
  • Tener configurado los repositorios, ver Recetas/repositorio

Instalación de programas

Vamos a instalar el servidor de mariadb con el metapaquete mariadb-server. En caso de que solo quisieramos instalar el cliente podemos instalar el paquete mariadb-client.

apt-get install mariadb-server

Configuración

Crear Usuario

Para la crear el usuario y la base de datos, se puede hacer desde modo grafico con mysql workbench, modo web con phpmyadmin o en modo cli. Acá lo haremos en modo cli. Es de diferenciar los comandos ejecutados en la SHELL de GNU/Linux (llevan el caracter #) y los comandos ejecutados en el CLI de MariaDB (Tienen el caracter >).

Ingresamos al modo CLI de MariaDB

 # mysql  -u root

Cambiamos a la base de datos MariaDB

  MariaDB [(none)]>use mysql

Listamos las tablas de esa DB

 MariaDB [mysql]>show tables;

Listamos los usuarios que existen

 MariaDB [mysql]>select * from user;

Creamos el usuario uls

 MariaDB [mysql]>create user 'uls'@'%';

Listamos de nuevo los usuarios

 MariaDB [mysql]>select * from user;

Le asignamos una clave al neuvo usuario

 MariaDB [mysql]>set password for 'uls'@'%'  = password('uls');

Verificamos que se le haya asignado la clave al usuario

 MariaDB [mysql]>select * from user;

Nos salimos del CLI de MySQL

 MariaDB [mysql]>exit

Verificamos desde la terminal de GNU/Linux las credenciales del nuevo usuario

 #mysql -u uls -p 

Observamos que bases puede ver el nuevo usuario

 MariaDB [(none)]>show databases;

Nota: en caso de que le hayamos asignado una clave al usuario, se debe pasarle el parámetro -p de modo que el comando quedaría como mysql -u root -p

Crear Base de datos

Creamos la base de datos

MariaDB [(none)]>create database prueba;

Definiendo Privilegios

Para ver los niveles de privilegios, pueden verlos desde [2] Asignando privilegios al usuario uls en la base de datos uls

MariaDB [(none)]> grant all privileges on prueba.* to 'uls'@'%';

ó

MariaDB [(none)]> grant create,drop,index,create view,trigger,alter,select,update,insert on prueba.* to 'uls'@'%';

Aplicamos los cambios de privilegios

MariaDB [(none)]> flush privileges;

Nos vamos a la base de mysq para ver cuales son los usuarios que tiene mysql

MariaDB [(none)]> use mysql
MariaDB [(none)]> select * from user;

Verificamos los privilegios que tiene el usuario usuario que se conecta desde localhost

MariaDB [(none)]> show grants for 'uls'@'%';

Nos conectamos a la base de datos prueba

Creando las Tablas

Para crear las tablas y sus datos, usaremos el nuevo usuario creado.

mysql -p -u uls

E ingresamos la clave que le configuramos. Si todo salio bien, deberá aparecernos el cli de MariaDB

Listamos las bases

MariaDB [prueba]> show databases

Seleccionamos la base donde insertaremos los datos

MariaDB [prueba]> use prueba

Creamos dos tablas simples de pruebas llamadas aula y curso relacionada con la llave ID de que cada curso tiene un aula asignada

MariaDB [prueba]>  CREATE TABLE aula(id INT NOT NULL, nombre VARCHAR(20), PRIMARY KEY ( id ) );
MariaDB [prueba]>  CREATE TABLE curso(id INT NOT NULL, nombre VARCHAR(20),id_aula INT, PRIMARY KEY ( id ),FOREIGN KEY (id_aula) REFERENCES aula(id)   );

Verificamos que la tabla haya sido creada

MariaDB [prueba]>  show tables;

Mostramos los campos de la tabla creada

MariaDB [prueba]> describe  curso;

Insertando Datos en las Tablas

Insertamos datos en la tabla

MariaDB [prueba]> insert into aula values(1,'Computo B1');
MariaDB [prueba]> insert into aula values(2,'Computo C1');
MariaDB [prueba]>  insert into curso values(1,'redes I',1); 
MariaDB [prueba]>  insert into curso values(2,'Sistemas',2); 

Verificamos los datos insertados

MariaDB [prueba]> select * from aula;
MariaDB [prueba]> select * from curso;

Nos salimos

MariaDB [prueba]> exit

Instalacion phpmyadmin

apt-get install phpmyadmin

Ahora se abrir en el navegador http://<IP del servidor>/phpmyadmin

Referencias