MySQL

> Temas > MySQL
Editar

MySQL es el sistema gestor de bases de datos más popular de Internet. Es un proyecto open source que se encuentra disponible en la mayoría de los servidores y proyectos.

MySQL es un sistema gestor de bases de datos relacionales potente y versátil, capaz de satisfacer la mayoría de los proyectos de sitios y aplicaciones web.

Desarrollado inicialmente por Sun Microsystems, cayó en manos de Oracle cuando ésta adquirió a Sun. En estos momentos MySQL se mantiene con licencia dual, por una parte es GPL y código abierto, gratuita para uso por la comunidad, por otra parte tiene licencia comercial en su versión "MySQL Enterprise". Esta dualidad de licencia ha sido la que provocó la creación de MariaDB, un sistema gestor de bases de datos creado a partir de MySQL, donde los desarrolladores originales de MySQL han seguido trabajando sin depender de la compañía Oracle.

Este motor de bases de datos es multiplataforma, por lo que se puede instalar en Windows, Linux y Mac. En servidores web se encuentra sobre plataformas Linux habitualmente y forma parte de la arquitectura LAMP (siglas de Linux Apache MySQL y PHP).

El conjunto de funcionalidades de MySQL es bastante amplio y se puede considerar de grado empresarial, capaz de acometer proyectos de todo tipo. En su licencia abierta de la comunidad no tiene ningún tipo de limitación.

Destacadas empresas de todo el mundo usan MySQL, como Twitter, Facebook, Booking, y muchas otras.

Más información:

MySQL

Manuales

Taller de MySQL

Taller de MySQL

El Manual de MySQL lo organizamos como una guía práctica para el trabajo con MySQL y MariaDB, con artículos diversos de utilidad para el trabajo diario con el sistema gestor de bases de datos.

Características destacadas de MySQL

Estas son las características más importantes del sistema gestor de bases de datos MySQL:

  • Sirve para crear y manejar de bases de datos relacionales
  • Implementa varios motores de almacenamiento con características y velocidades distintas
  • Software libre y gratuito para el uso en su versión de la comunidad
  • Dispone de una arquitectura cliente / servidor y la instalación proporciona tanto el programa de cliente (por línea de comandos) como el del servidor (sistema gestor de la base de datos en sí)
  • Sistema ligero, fácil de usar y fácil de mantener
  • Es robusto y seguro

Editar

MySQL vs MariaDB

MySQL y MariaDB son dos sistemas gestores de bases de datos compatibles entre sí ya que usan la misma interfaz para su funcionamiento, es decir: mismas funciones, idénticas librerías en los lenguajes de programación, etc. Sin embargo, son dos motores de bases de datos distintos que tienen algunas diferencias técnicas en cuanto a su construcción y sobre todo, su modelo de licencias.

Un poco de historia sobre cómo surge MariaDB a partir de MySQL

Realmente, ambos sistemas gestores de bases de datos surgen de MySQL. Cuando Oracle adquirió Sun Microsystems entre todos los proyectos y marcas comerciales heredados de Sun se encontraba MySQL. La comunidad y los desarrolladores de MySQL no se encontraban totalmente receptivos a seguir desarrollando un motor de base de datos propiedad de una compañía con claro enfoque comercial. Así mismo, la doble licencia impuesta por Oracle a MySQL provocaba susceptibilidades entre sus usuarios.

Ante esta situación algunos de los principales desarrolladores de MySQL dedicieron seguir su trabajo bajo otra marca, MariaDB, extendiendo este motor de base de datos con nuevas características, pero respetando el API marcado por MySQL.

Algunas diferencias de MySQL con respecto a MariaDB

  • En MariaDB hay una única licencia de uso libre y la marca no forma parte de ninguna organización de enfoque empresarial basada en software propietario.
  • MariaDB funciona en todos los entornos donde funciona MySQL y responde a los mismos comandos, sintaxis del SQL, juego de funciones, etc.
  • Sin embargo, por dentro MariaDB se ha modernizado, aportando nuevos motores de funcionamiento y algunas optimizaciones diversas.
  • Algunas de las mejoras de MariaDB han sido incorporadas también a MySQL, por lo que el motor original también se sigue beneficiando del desarrollo de su fork.

Qué debo de usar MySQL o MariaDB

La decisión entre usar MySQL o MariaDB no depende de las funcionalidades que se deseen escoger ni del soporte a unas u otras plataformas. Es más bien una elección basada en nuestra filosofía, más o menos cercana al software libre.

Si deseamos contar con un software completamente libre, podemos escoger MariaDB. Si no nos importa la doble licencia de MySQL, podemos instalar MySQL. Sin embargo, los avances de MariaDB son muy interesantes y más dinámicos que los existentes en MySQL, por lo que en principio sería una opción más interesante contar con MariaDB instalado en el servidor de bases de datos.

Editar

Obtener MySQL

Si queremos obtener e instalar MySQL el proceso depende un poco del sistema operativo con el que vamos a trabajar, incluso a veces de la tecnología o lenguaje de desarrollo que vamos a usar para conectarnos con MySQL.

En principio podríamos ir a la sección de Downloads de MySQL y luego dirigirnos a la descargas de la versión de la comunidad "MySQL Community", que es la versión gratuita. Allí encontramos el instalador para Windows "MySQL Installer for Windows" y los repositorios para las distribuciones más comunes de Linux.

Sin embargo, si vamos a usar MySQL para el desarrollo de una aplicación web, muchas veces el propio motor de base de datos se va a instalar con el lenguaje y el servidor de desarrollo que necesitamos para trabajar. Por ejemplo, si vamos a trabajar con PHP, una de las alternativas de instalación de todo lo necesario para desarrollar es Xampp y el proceso de instalación de Xampp ya incluye la instalación de MySQL, por lo que no sería necesario tener instaladas dos copias del motor de base de datos.

En Mac también ocurre lo mismo que acabamos de comentar, si instalas un software todo en uno para contar con PHP, como Mamp, ya se va a instalar MySQL con todo el paquete, por lo que no lo necesitarías instalar por separado. En todo caso, en Mac es muy fácil instalar software directamente desde la consola usando Homebrew.

Editar

Instalar MySQL

El procedimiento para la instalación de MySQL depende del sistema operativo con el que trabajes.

Instalación de MySQL sobre Windows

Para instalar en Windows se trata simplemente de un instalador, que consiste en el típico asistente. Descargamos simplemente la versión Community y la instalamos.

Puedes tener en cuenta un par de puntos:

  1. Si instalas MySQL para trabajar con PHP puede que algunos sistemas como Xampp ya te lo instalen todo de una vez.
  2. Puedes instalar MySQL en Windows usando el gestor de paquetes Chocolatey. Una vez instalado Chocolatey, simplemente lanzarás el siguiente comando:
choco install mysql

Instalación de MySQL en Mac

Para instalar MySQL en Mac generalmente se usa Homebrew, que es el gestor de paquetes que se usa en MacOS. Es tan sencillo como lanzar el comando:

brew install mysql

Instalación de MySQL en Linux

Aquí depende de la distribución de Linux que estés usando, porque los gestores de paquetes cambiand de unas a otras.

Para instalar MySQL en Ubuntu u otras distribuciones basadas en Debianm lanzas el siguiente comando:

apt install mysql-server

Puede que necesites lanzar el comando como superusuario, en cuyo caso sería:

sudo apt install mysql-server

Para instalar MySQL en Rocky Linux:

sudo dnf install mysql-server

Para otras distribuciones es posible que necesites activar los repositorios de las versiones community de MySQL, tal como explican en la página de instalación de MySQL para Linux en la documentación oficial.

Editar

Componentes de la instalación de MySQL

Cuando instalamos MySQL tenemos dos componentes principales:

  • El sistema gestor de la base de datos MySQL, lo que sería el servidor de la base de datos.
  • El cliente para conectarnos con el sistema gestor de la base de datos, mediante el terminal.

Es importante distinguir ambos softwares, aunque generalmente los usamos juntos. Por ejemplo, cuando hacemos por línea de comandos:

mysql -h localhost -u root -p

Estamos usando el cliente de MySQL (el comando "mysql") para conectarnos con el servidor de la base de datos que se ha instalado en local.

Sin embargo, el cliente no siempre se utiliza, ya que podemos usar otros clientes de base de datos, como podría ser MySQL Workbench, HeidiSQL, etc. que nos ofrecen la facilidad de disponer de una interfaz gráfica de usuario muy útil y productiva.

Editar

¿Quieres añadir algo sobre MySQL?

Crea artículos, recursos o comparte información sobre MySQL

Crear un bloque

Temas relacionados

Dentro de MySQL

Backup con MySQL

El backup consiste en la realización de una copia de seguridad de las tablas y los datos. Pero tan importante como hacer el backup es que puedas restaurarlo cuando lo necesites.

Sobra mencionar la importancia de la realización de las copias de seguridad de la base de datos, igual de importante que salvaguardar los archivos de los sitios web.

Las copias de seguridad de la base de datos consisten en archivos con una cantidad de sentencias SQL que permiten definir los esquemas de las tablas y la inserción de los datos. Estos archivos se generan en texto plano.

La creación de los backups se realiza con el programa mysqldump y la restauración de las copias se realiza mediante el cliente MySQL común.

Editar

MySQL Client

El cliente de MySQL permite conectarse a sistemas gestores de base de datos MySQL por línea de comandos, en el terminal

MySQL Client es el cliente MySQL predeterminado, que se puede usar desde programas de terminal y que permite conectarse a cualquier sistema de gestor MySQL, tanto en la máquina actual como en cualquier servidor remoto.

Al instalar MySQL Server se instala de manera predeterminada el cliente MySQL por línea de comandos, aunque también es posible instalarlo de manera autónoma a través de sus correspondientes paquetes, llamados generalmente "mysql-client". Una vez instalado, en el ordenador tendremos el comando mysql disponible como cliente.

Es importante este cliente porque a menudo es la única opción disponible para administrar remotamente una base de datos MySQL, o al menos es la manera más rápida de conectarse con un gestor de MySQL.

Editar

MySQL Client

Funciones MySQL

MySQL soporta una extensa lista de funciones para realizar diversas operaciones en las consultas SQL contra la base de datos.

Las funciones de MySQL incluyen tratamiento de cadenas, números y matemáticas en general, bits, JSON, fechas y muchas otras utilidades dentro de las consultas SQL.

Para encontrar la referencia de funciones puedes buscar por "Built-In Function and Operator Reference". Te devolverá la página de la documentación donde se encuentran los operadores y la lista de funciones. Tienes que consultar la versión de MySQL que necesites.

Editar

Funciones MySQL

Preguntas y respuestas de Funciones MySQL

Preguntas y respuestas de MySQL

Se han recibido 52 faqs en MySQL

Hacer una pregunta