Diferencia entre revisiones de «Mysql»

De MediaWiki
Ir a la navegación Ir a la búsqueda
(No se muestran 25 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
[[Image:Mysql_logo.png|center|300px]]
+
[[Image:Mysql_logo.png|center|200px]]
 
<center>'''[https://dev.mysql.com/ Mysql]'''</center>
 
<center>'''[https://dev.mysql.com/ Mysql]'''</center>
  
 
<br><div style="margin:0; background:#E6ECFF; font-size:100%; border:1px solid #cccccc; text-align:left; padding:0.2em 0.4em; -moz-border-radius:6px">http://i.creativecommons.org/l/by-nc-sa/3.0/es/88x31.png
 
<br><div style="margin:0; background:#E6ECFF; font-size:100%; border:1px solid #cccccc; text-align:left; padding:0.2em 0.4em; -moz-border-radius:6px">http://i.creativecommons.org/l/by-nc-sa/3.0/es/88x31.png
 
<br>
 
<br>
<p>Estos apuntes fueron creados para o módulo profesional '''Administración de Sistemas Gestores de Bases de Datos''' del ciclo de grado superior '''Administración de sistemas informáticos en red'''. Creados y editados por [[Usuario:angelfg| Ángel D. Fernandez González]] bajo la licencia [http://creativecommons.org/licenses/by-nc-sa/3.0/es/ Creative Commons 3.0:]  
+
<p>Estos apuntes fueron creados para el módulo profesional '''Administración de Sistemas Gestores de Bases de Datos''' del ciclo de grado superior '''Administración de sistemas informáticos en red'''. Creados y editados por [[Usuario:angelfg| Ángel D. Fernandez González]] bajo la licencia [http://creativecommons.org/licenses/by-nc-sa/3.0/es/ Creative Commons 3.0:]  
 
*Copiar, distribuir y comunicar públicamente la obra, siempre mencionando ós autores.
 
*Copiar, distribuir y comunicar públicamente la obra, siempre mencionando ós autores.
 
*Uso no comercial.  
 
*Uso no comercial.  
Línea 17: Línea 17:
  
 
*[[Mysql Funciones del administrador | Funciones del administrador]]  
 
*[[Mysql Funciones del administrador | Funciones del administrador]]  
 +
 +
 +
  
 
=='''UNIDAD 1: Instalación y configuración inicial'''==
 
=='''UNIDAD 1: Instalación y configuración inicial'''==
Línea 27: Línea 30:
 
*[[Mysql Herramientas clientes | Herramientas clientes]]
 
*[[Mysql Herramientas clientes | Herramientas clientes]]
 
*[[Mysql Motores de bases de datos | Motores de bases de datos]]
 
*[[Mysql Motores de bases de datos | Motores de bases de datos]]
 
  
  
Línea 39: Línea 41:
  
 
* [[Mysql Gestión de permisos | Gestión de permisos]]
 
* [[Mysql Gestión de permisos | Gestión de permisos]]
 +
 +
 +
 +
  
 
=='''UNIDAD 3: Automatización de tareas'''==
 
=='''UNIDAD 3: Automatización de tareas'''==
  
 +
 +
* [[Mysql Funciones y Procedimientos almacenados | Funciones y Procedimientos almacenados]]
 +
 +
* [[Mysql Triggers | Disparadores o Triggers]]
 +
 +
* [[Mysql Vistas | Vistas]]
 +
 +
* [[Mysql Eventos | Eventos]]
 +
 +
 +
 +
 +
 +
=='''UNIDAD 4: Optimización del rendimiento y monotorización'''==
 +
 +
* [[Mysql Indices | Indices]]
 +
* [[Mysql Optimización en el diseño de BD | Optimización en el diseño de BD]]
 +
 +
 +
* [https://dev.mysql.com/doc/refman/5.7/en/describe.html Comando describe]
 +
* [https://dev.mysql.com/doc/refman/5.7/en/show-profile.html Comando show profile]
  
  
  
  
=='''UNIDAD 4: Gestión de acceso a la información'''==
 
  
 +
=='''UNIDAD 5: Bases de datos distribuidas y alta disponibilidad'''==
  
 +
* [https://es.wikipedia.org/wiki/MySQL_Cluster Explicación de lo que es un cluster]
  
  
 +
* [https://dev.mysql.com/doc/refman/5.7/en/mysql-cluster.html Información oficial sobre Cluster]
 +
* [https://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-nodes-groups.html Información oficial de cómo se distribuye la información entre los nodos]
 +
* [https://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-install-shutdown-restart.html Información de cómo parar un cluster]
 +
* [https://dev.mysql.com/doc/mysql-cluster-excerpt/5.7/en/faqs-mysql-cluster.html#qandaitem-A-1-3 Preguntas frecuentes]
  
=='''UNIDAD 5: Optimización del rendimiento y monotorización'''==
 
  
:* [https://dev.mysql.com/doc/refman/5.7/en/describe.html Enlace 1]
+
* [https://www.howtoforge.com/tutorial/how-to-install-a-mysql-cluster-on-ubuntu-16-04/ Entrada blog para instalación de un cluster Mysql 5.7]
 +
:* Diferencias con respecto a lo indicado en el blog:
 +
::* No hacemos la parte en la que hace que tanto el ndbd como mysqld se instalen como servicio (en una situación real sí sería necesario)
 +
::* Para iniciar el nodo de gestión ponemos: ndb_mgmd -f /var/lib/mysql-cluster/config.ini --configdir=/var/lib/mysql-cluster/
 +
::* Para iniciar los nodos de datos como demonios: ndbd --initial
 +
::* Para iniciar los nodos de datos sin que se inicien como demonios: ndbd --skip-daemon
 +
::* Para gestionar todos los nodos, lo podemos hacer desde el nodo ndb_mgmd, tecleando por consola la orden: ndb_mgm
 +
::: Si escribos 'help' podemos ver todas las opciones de gestión. Entre ellas, podemos:
 +
:::* show: Muestra el estado de conexión de los diferentes nodos del cluster con sus identificadores.
 +
:::* 'id' stop: Para uno de los nodos. El 'id' lo podemos obtener con el comando anterior.
  
:* [https://dev.mysql.com/doc/refman/5.7/en/show-profile.html Enlace 2]
+
::* Para iniciar Mysql y tener un nodo de acceso a los nodos de datos debemos de situarnos en el directorio mysql/ y levantar/parar el servicio mysqld con: ./support-files/mysql.server start/stop
 +
::* Cuando creamos una tabla, para que se replique, <u>'''debemos de crearla en el motor NDBCLUSTER'''</u>
  
=='''UNIDAD 6: Bases de datos distribuidas y alta disponibilidad'''==
+
:: Aclaraciones sobre el ejemplo:
 +
::* Lo que estamos implementando es un Mysql Cluster, en el que la información (crear tablas, añadir filas,...) es <u>copiada de forma síncrona</u> a todos los nodos de datos. Pero si alguno falla y se modifican los datos, éstos no van a ser actualizados al nodo de datos cuando este vuelva a levantarse.
 +
::: Para que se actualicen los datos de <u>forma asíncrona</u> necesitamos implementar un [https://dev.mysql.com/doc/refman/5.7/en/replication.html MySQL Replication].
  
  

Revisión del 23:08 5 nov 2018

Mysql logo.png
Mysql


88x31.png


Estos apuntes fueron creados para el módulo profesional Administración de Sistemas Gestores de Bases de Datos del ciclo de grado superior Administración de sistemas informáticos en red. Creados y editados por Ángel D. Fernandez González bajo la licencia Creative Commons 3.0:

  • Copiar, distribuir y comunicar públicamente la obra, siempre mencionando ós autores.
  • Uso no comercial.
  • Compartir las modificaciones bajo la misma licencia.
Para cualquiera otro tipo de uso no contemplado en la licencia anterior consulte al autor: Ángel D. Fernández González.


UNIDAD 0: Objetivo del curso



UNIDAD 1: Instalación y configuración inicial



UNIDAD 2: Gestión de acceso a la información



UNIDAD 3: Automatización de tareas



UNIDAD 4: Optimización del rendimiento y monotorización




UNIDAD 5: Bases de datos distribuidas y alta disponibilidad



  • Diferencias con respecto a lo indicado en el blog:
  • No hacemos la parte en la que hace que tanto el ndbd como mysqld se instalen como servicio (en una situación real sí sería necesario)
  • Para iniciar el nodo de gestión ponemos: ndb_mgmd -f /var/lib/mysql-cluster/config.ini --configdir=/var/lib/mysql-cluster/
  • Para iniciar los nodos de datos como demonios: ndbd --initial
  • Para iniciar los nodos de datos sin que se inicien como demonios: ndbd --skip-daemon
  • Para gestionar todos los nodos, lo podemos hacer desde el nodo ndb_mgmd, tecleando por consola la orden: ndb_mgm
Si escribos 'help' podemos ver todas las opciones de gestión. Entre ellas, podemos:
  • show: Muestra el estado de conexión de los diferentes nodos del cluster con sus identificadores.
  • 'id' stop: Para uno de los nodos. El 'id' lo podemos obtener con el comando anterior.
  • Para iniciar Mysql y tener un nodo de acceso a los nodos de datos debemos de situarnos en el directorio mysql/ y levantar/parar el servicio mysqld con: ./support-files/mysql.server start/stop
  • Cuando creamos una tabla, para que se replique, debemos de crearla en el motor NDBCLUSTER
Aclaraciones sobre el ejemplo:
  • Lo que estamos implementando es un Mysql Cluster, en el que la información (crear tablas, añadir filas,...) es copiada de forma síncrona a todos los nodos de datos. Pero si alguno falla y se modifican los datos, éstos no van a ser actualizados al nodo de datos cuando este vuelva a levantarse.
Para que se actualicen los datos de forma asíncrona necesitamos implementar un MySQL Replication.



ANEXO: Ideas para la administración








-- Ángel D. Fernández González -- (2017).