Diferencia entre revisiones de «Mysql»

De MediaWiki
Ir a la navegación Ir a la búsqueda
(Mysql Bases de datos)
(No se muestran 45 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
[[Image:Mysql_logo.jpg|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 non comercial.  
+
*Uso no comercial.  
 
*Compartir las modificaciones bajo la misma licencia.  
 
*Compartir las modificaciones bajo la misma licencia.  
  
Para cualquiera otro tipo de uso non contemplado na licencia anterior consulte ós autores: [[Usuario:angelfg| Ángel D. Fernández González]].
+
Para cualquiera otro tipo de uso no contemplado en la licencia anterior consulte al autor: [[Usuario:angelfg| Ángel D. Fernández González]].
 
</p></div>
 
</p></div>
  
  
  
 +
=='''UNIDAD 0: Objetivo del curso'''==
  
 +
*[[Mysql Funciones del administrador | Funciones del administrador]]
  
=='''UNIDAD 1: Instalación'''==
+
 
 +
 
 +
 
 +
=='''UNIDAD 1: Instalación y configuración inicial'''==
  
 
*[[Mysql Instalación Objetivos | Objetivos y escenarios de la UNIDAD 1]]  
 
*[[Mysql Instalación Objetivos | Objetivos y escenarios de la UNIDAD 1]]  
 
*[[Mysql_Instalación Requerimientos | Requerimientos mínimos]]
 
*[[Mysql_Instalación Requerimientos | Requerimientos mínimos]]
 
*[[Mysql Instalación | Instalación]]
 
*[[Mysql Instalación | Instalación]]
 +
*[[Mysql Bases de datos del sistema | Bases de datos del sistema]]
 +
*[[Mysql Ficheros de log | Ficheros de log]]
 +
*[[Mysql Herramientas clientes | Herramientas clientes]]
 +
*[[Mysql Motores de bases de datos | Motores de bases de datos]]
 +
 +
 +
 +
 +
=='''UNIDAD 2: Gestión de acceso a la información'''==
 +
 +
* [[Mysql Entendiendo el sistema de permisos | Entendiendo el sistema de permisos]]
 +
 +
* [[Mysql Creación de usuarios | Creación de usuarios]]
 +
 +
* [[Mysql Gestión de permisos | Gestión de permisos]]
 +
 +
 +
 +
 +
 +
=='''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 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]
 +
 +
 +
* [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.
  
 +
::* 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>
  
 +
:: 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].
  
  
Línea 28: Línea 107:
  
  
 +
=='''ANEXO: Ideas para la administración'''==
  
 +
*[[Mysql Sin espacio en disco | Sin espacio en disco]]
  
 +
*[[Mysql Analizando procedimientos almacenados | Analizando procedimientos almacenados]]
  
  

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).