Definition

MySQL

MySQL es un sistema de gestión de bases de datos relacionales (RDBMS) de código abierto respaldado por Oracle y basado en el lenguaje de consulta estructurado (SQL). MySQL funciona prácticamente en todas las plataformas, incluyendo Linux, UNIX y Windows. Aunque puede utilizarse en una amplia gama de aplicaciones, MySQL se asocia más a menudo con las aplicaciones web y la publicación en línea.

MySQL es un componente importante de una pila empresarial de código abierto llamada LAMP. LAMP es una plataforma de desarrollo web que utiliza Linux como sistema operativo, Apache como servidor web, MySQL como sistema de gestión de bases de datos relacionales y PHP como lenguaje de scripting orientado a objetos (a veces se utiliza Perl o Python en lugar de PHP).

Originalmente concebido por la empresa sueca MySQL AB, MySQL fue adquirido por Sun Microsystems en 2008 y luego por Oracle cuando compró Sun en 2010. Los desarrolladores pueden utilizar MySQL bajo la licencia pública general GNU (GPL), pero las empresas deben obtener una licencia comercial de Oracle.

Hoy en día, MySQL es el RDBMS que está detrás de muchos de los principales sitios web del mundo y de innumerables aplicaciones corporativas y de consumo basadas en la web, como Facebook, Twitter y YouTube.

Cómo funciona MySQL

MySQL se basa en un modelo cliente-servidor. El núcleo de MySQL es el servidor MySQL, que maneja todas las instrucciones (o comandos) de la base de datos. El servidor MySQL está disponible como un programa independiente para su uso en un entorno de red cliente-servidor y como una biblioteca que puede ser incrustada (o enlazada) en aplicaciones independientes.

MySQL funciona junto con varios programas de utilidad que soportan la administración de las bases de datos MySQL. Los comandos se envían a MySQLServer a través del cliente MySQL, que se instala en una computadora.

MySQL fue desarrollado originalmente para manejar rápidamente grandes bases de datos. Aunque MySQL se instala normalmente en una sola máquina, es capaz de enviar la base de datos a múltiples lugares, ya que los usuarios pueden acceder a ella a través de diferentes interfaces de cliente MySQL. Estas interfaces envían sentencias SQL al servidor y luego muestran los resultados.

Características principales de MySQL

MySQL permite almacenar y acceder a los datos a través de múltiples motores de almacenamiento, incluyendo InnoDB, CSV y NDB. MySQL también es capaz de replicar datos y particionar tablas para mejorar el rendimiento y la durabilidad. Los usuarios de MySQL no tienen que aprender nuevos comandos; pueden acceder a sus datos utilizando comandos SQL estándar.

MySQL está escrito en C y C++ y es accesible y está disponible en más de 20 plataformas, como Mac, Windows, Linux y Unix. El RDBMS soporta grandes bases de datos con millones de registros y admite muchos tipos de datos, como enteros con o sin signo de 1, 2, 3, 4 y 8 bytes de longitud; FLOAT; DOUBLE; CHAR; VARCHAR; BINARY; VARBINARY; TEXT; BLOB; DATE; TIME; DATETIME; TIMESTAMP; YEAR; SET; ENUM; y tipos espaciales OpenGIS. También se admiten tipos de cadena de longitud fija y variable.

Para la seguridad, MySQL utiliza un sistema de privilegios de acceso y contraseñas encriptadas que permite la verificación basada en el host. Los clientes de MySQL pueden conectarse a MySQL Server utilizando varios protocolos, incluyendo sockets TCP/IP en cualquier plataforma. MySQL también admite una serie de programas cliente y de utilidad, programas de línea de comandos y herramientas de administración como MySQL Workbench

Entre las ramificaciones de MySQL, también conocidas como forks, se encuentran las siguientes:

  • Drizzle, un sistema ligero de gestión de bases de datos de código abierto en desarrollo basado en MySQL 6.0;
  • MariaDB, un popular sustituto de MySQL desarrollado por la comunidad que utiliza las API y los comandos de MySQL; y
  • Percona Server con XtraDB, una versión mejorada de MySQL conocida por su escalabilidad horizontal.

MySQL vs SQL

Antes de 2016, la principal diferencia entre MySQL y SQL era que el primero podía utilizarse en múltiples plataformas, mientras que el segundo solo podía usarse en Windows. Desde entonces, Microsoft ha ampliado SQL para que sea compatible con Linux, un cambio que entró en vigor en 2017. Cuando MySQL se instala a través de Linux, su sistema de gestión de paquetes requiere una configuración personalizada para ajustar los parámetros de seguridad y optimización.

MySQL también permite a los usuarios elegir el motor de almacenamiento más eficaz para cualquier tabla dada, ya que el programa es capaz de utilizar múltiples motores de almacenamiento para tablas individuales. Uno de los motores de MySQL es InnoDB. InnoDB fue diseñado para una alta disponibilidad. Por ello, no es tan rápido como otros motores. SQL utiliza su propio sistema de almacenamiento, pero mantiene múltiples protecciones contra la pérdida de datos. Ambos sistemas pueden funcionar en clústeres para lograr una alta disponibilidad.

SQL Server ofrece una amplia variedad de herramientas de análisis de datos y elaboración de informes. SQL Server Reporting Services es la más popular y está disponible como descarga gratuita. Hay herramientas de análisis similares para MySQL disponibles en empresas de software de terceros, como Crystal Reports XI y Actuate BIRT.

Compatibilidad con otros servicios

MySQL fue diseñado para ser compatible con otros sistemas. Es compatible con el despliegue en entornos virtualizados, como Amazon RDS para MySQL, Amazon RDS para MariaDB y Amazon Aurora para MySQL. Los usuarios pueden transferir sus datos a una base de datos SQL Server utilizando herramientas de migración de bases de datos como AWS Schema Conversion Tool y AWS Database Migration Service.

La semántica de los objetos de base de datos entre SQL Server y MySQL es similar, pero no idéntica. Existen diferencias arquitectónicas que deben tenerse en cuenta al migrar de SQL Server a MySQL. En MySQL, no hay diferencia entre una base de datos y un esquema, mientras que SQL Server trata a los dos como entidades separadas.

Este contenido se actualizó por última vez en abril 2021

Investigue más sobre Bases de datos