Versión de selección de MySQL y cómo averiguar la versión de MySQL. MySQL seleccione la versión y cómo averiguar la versión de MySQL Ubuntu descubra la versión de MySQL

  • Seguridad
  • Calidad
  • Precio
  • Fiabilidad
  • Sencillez
  • Estabilidad
  • Apoyo
  • Velocidad
  • Panel de control

Sección de ayuda de preguntas frecuentes

Revisión de alojamiento de videos

Cómo subir un servidor a FTP

ATENCIÓN: Solo necesitas cargar 3 carpetas ( filtrar scripts, modos de juego, archivos de script) y 1 archivo servidor.cfg, luego escriba la línea en server.cfg (si no está allí) plugins streamer.so sscanf.so CRP.so mysql.so También debe asegurarse de que el mod en formato .amx exista en la carpeta gamemodes y el El nombre del mod está escrito correctamente en server.cfg (config).

Cliente FileZilla
Ingresar anfitrión Ejemplo: 194.58.88.74 - acceso *****- contraseña******** ¡¡¡NO ENTRES NADA EN EL CAMPO DEL PUERTO!!!

ATENCIÓN: Si no hay conexión a FTP a través de FileZilla, descargue Comandante total¡Y conéctate a través de él!

Comandante total- para cargar sus archivos de muestra a FTP
Ingresar anfitrión Ejemplo: 194.58.88.74 - acceso 173104911- contraseña g1KdN7D3q

¿Dónde entrar? Respuesta: ejecute Total Commander > Red > Conectarse al servidor FTP > Agregar y luego ingrese sus datos como se muestra en la captura de pantalla de ejemplo:

Modo desconocido

Si el campo de tu modo de juego dice "desconocido", sigue estos pasos:
1. Primero, apaga tu servidor
2.Vaya al panel de control en la pestaña Opciones del servidor > Configuración
3.Agregue una línea a continuación complementos streamer.so sscanf.so CRP.so mysql.so
Cambie el nombre de los complementos si desconoce el mod, por ejemplo: complementos streamer.so sscanf.so CRP.so mysql.so en complementos streamer2.7.2.so sscanf.so CRP.so mysqlR34.so
*La carpeta de complementos se instala inicialmente de forma predeterminada y contiene todos los complementos necesarios.
*Puedes instalar cualquiera de tus complementos en FTP y luego registrarlos en el panel de control en la sección Configuración complemento requerido para el servidor.
*Para compilar y actualizar streamer, use el programa PAWNO
4.En una carpeta complementos Debería haber complementos con la extensión .so para Linux: seleccione el complemento deseado para su servidor y escriba su nombre en la configuración del panel en la línea complementos EJEMPLO: complementos streamer.so
5.No olvides que usamos SO Linux, es decir, en la Configuración del Panel.
escriba la línea para complementos complementos: streamer.so sscanf.so CRP.so con la extensión .entonces de lo contrario su servidor no funcionará correctamente.

Para SO Linux regístrese en server.cfg como: complementos streamer.so sscanf.so CRP.so mysql.so antiattack.so
Uno de los complementos libmysqlclient.so.15 libmysqlclient.so.16 libmysqlclient_r.so.16 debe ubicarse en la carpeta del servidor.

Atención: si el servidor funciona correctamente en el sistema operativo Windows, esto no significa que funcionará correctamente en Linux.

¿Qué debo hacer si luego de llenar no quedan íconos, casas, negocios, etc.?

Escriba streamer2.5.so en la configuración, guarde y reinicie el servidor.
Ejemplo:

complementos streamer2.5.so sscanf.so CRP.so mysql.so regex.so

¿Cómo saber la versión del complemento?
En computadora local Inicie el servidor, luego busque en el registro, allí se indicará la versión del complemento y registre esta versión en el hosting en la configuración del servidor.
Ejemplo:


Complementos de servidor
--------------
Cargando complemento: streamer.so
*** Streamer Plugin v2.6.1 de Incognito cargado ***

Esto significa que debe especificar la versión streamer2.6.1.so en la configuración del servidor.

Ayuda - Conectando el mod al servidor mysql

Abra el mod (archivo.PWN) con el programa PAWNO, especifique sus datos en la sección MYSQL


Ejemplo:

#define mysql_host "host.sitio"
#definir mysql_db "s20000"
#definir mysql_user "s20000"
#define mysql_pass "perezoso"

Después de compilar el mod en .AMX e importar la consulta sql a la base de datos

¡Atención! Si aparece desconocido durante el proceso de compilación, el mod no será detectado.
La solución es buscar un scripter para corregir el error.

Para cambiar el nombre del mod, o más bien el parámetro del nombre de host, debe ingresar al panel de control del servidor en la sección -Configuración (esta es la configuración del servidor sever.cfg) y en la línea del nombre de host a la derecha, escriba el nombre de su servidor. , por ejemplo: *** Nuestro servidor es el mejor **
Guarde los datos en el panel y asegúrese de reiniciar el servidor para que los nuevos parámetros surtan efecto.
Si su nombre no ha cambiado después de todo lo anterior, entonces debe cambiar el nombre en el mod con el programa PAWNO, y esta es una historia completamente diferente disponible en Internet.

Servidor.cfg









consulta 1 – No cambiamos.

maxnpc 10 – No cambiamos.
onfoot_rate 40 – No cambiar.
incar_rate 40 – No cambiamos.
Weapon_rate 40 – No cambiar.




- línea estándar de complementos para la configuración de samp

Cómo crear una cuenta de administrador

Ir al servidor en la carpeta. archivos de script, encuentra el tuyo MELLA
ejemplo: Aldo_Mangano, abre el archivo usando el Bloc de notas,
encontrar la linea Nivel de administrador especifique 1999, luego guarde el archivo y reinicie el servidor.

Servidor.cfg

echo Ejecutando configuración del servidor…
modo lan 0 – 0 – juego a través de Internet, 1 – juego a través de una red local.
rcon_password 123 – “123” – contraseña del panel de administración del servidor.
maxplayers 50 – Como ya entendiste, el número máximo son jugadores. En la versión 0.3a, máximo 500.
puerto 7777: el puerto que se muestra al final de la dirección de su servidor. (En el hosting se expone)
nombre de host NameServer: el nombre de su futuro servidor.
modo gamemode0: mod de juego para tu futuro servidor. Más sobre esto a continuación...
anunciar 0 – 1 el servidor está visible en la pestaña Internet / 0 no es visible.
consulta 1 – No cambiamos.
sitio weburl: sitio del servidor, si está disponible.
maxnpc 10 – No cambiamos.
onfoot_rate 40 – No cambiar.
incar_rate 40 – No cambiamos.
Weapon_rate 40 – No cambiar.
stream_distancia 300.0 – No cambiar.
stream_rate 1000 – No cambiar.
contraseña - your_password (Servidor con contraseña)
idioma Rusia - mapa para 0.3.7 en lugar del mapa
complementos streamer.so sscanf.so CRP.so mysql.so regex.so dc_cmd.so CVector.so nativochecker.so- línea estándar de complementos para la configuración de samp

En MySQL seleccionar versión()— una consulta que devuelve el nombre del paquete utilizado y su versión. El nombre puede ser el propio MySQL o su bifurcación, que se desarrolla de forma independiente: MaraiDB. La diferencia entre los paquetes no se nota al resolver la mayoría de los problemas. MySQL 5.6 coincide con MaraiDB 10.

MySQL seleccione la versión y cómo averiguarlo Versión MySQL

Puede averiguar la versión de varias formas. El más simple no requiere conocer la contraseña del usuario del servidor de la base de datos. Simplemente inicie sesión a través de SSH y ejecute mysql --version

mysql Ver 14.14 Distrib 5.5.55, para debian-linux-gnu (x86_64) usando readline 6.3

Para utilizar el método indicado en el título, debe enviar una solicitud SQL, para ello, inicie sesión en la consola (también puede hacerlo con un script);

Introducir la contraseña:
Bienvenido al monitor MySQL. Los comandos terminan con ; o\g.
Su ID de conexión MySQL es 41
Versión del servidor: 5.5.55-0ubuntu0.14.04.1 (Ubuntu)

Copyright (c) 2000, 2017, Oracle y/o sus filiales. Reservados todos los derechos.

Oracle es una marca registrada de Oracle Corporation y/o sus
afiliados. Otros nombres pueden ser marcas comerciales de sus respectivos
propietarios.

Escriba "ayuda"; o "\h" para obtener ayuda. Escriba "\c" para borrar la declaración de entrada actual.

La información necesaria está disponible en el resultado que aparece después de una autorización exitosa. En este caso se utiliza MySQL Server versión 5.5.55-0.

Además, una vez en la consola del servidor de base de datos, puedes solicitar la versión de la siguiente manera:

+————————-+
| versión() |
+————————-+
| 5.5.55-0ubuntu0.14.04.1 |
+————————-+
1 fila en conjunto (0,00 seg)

En todos los casos considerados se obtuvo información igualmente completa.

Lea una serie de artículos que describen los conceptos básicos de trabajar con MySQL ().

Si los scripts del sitio que funcionan con la base de datos están escritos para una versión específica del software en el servidor y no es esa versión la que se utiliza, se puede cambiar la versión, así como el paquete en sí. Esto se hace de forma bastante sencilla en Debian; el algoritmo se detalla a continuación.

Cambiar la versión del servidor de base de datos a Debian

1) utilizando la utilidad mysqldump, se crea un volcado de todas las tablas (incluidas las tablas de servicios)

2) se retira el paquete apt-get eliminar servidor-mysql* && apt-get purgar servidor-mysql*, también necesita eliminar /var/lib/mysql y /etc/mysql después de hacer una copia

3) el repositorio que figura en el sitio web oficial se agrega a /etc/apt/source.list (por ejemplo, para MariaDB 10 en Debian 8), la información se actualiza apt-obtener actualización

3) también a través de apto-obtener Se instala un nuevo paquete y luego se cargan los volcados de la base de datos.

Siempre debes tener copias en caso de situaciones imprevistas. Para diferentes versiones Se utilizan diferentes directivas en Archivos de configuración y puede requerir edición manual.

Lea más sobre cómo obtener la versión del paquete con su ayuda; el muestreo es la operación más común.

Primero, debe decidir si desea la última versión experimental o la última versión estable:

  • Si está a punto de utilizar MySQL por primera vez, o está intentando migrar MySQL a un sistema que no tiene una distribución binaria, generalmente recomendamos comenzar con la versión estable (actualmente versión 3.23). Tenga en cuenta que todas las versiones de MySQL se prueban utilizando puntos de referencia de MySQL y un conjunto de pruebas completo antes de cada versión (incluso para las versiones experimentales).
  • Si está trabajando con un sistema antiguo y desea actualizarlo, pero quiere evitar posibles inconsistencias durante la actualización, entonces necesita reemplazarlo con la versión más reciente en la misma rama que está utilizando (donde solo está el número de versión más reciente). más nuevo que el tuyo). En dichas versiones, intentamos corregir sólo errores críticos y realizar sólo cambios pequeños y relativamente seguros.

En segundo lugar, debe decidir si desea utilizar una distribución fuente o una distribución binaria. En la mayoría de los casos, es mejor optar por una distribución binaria si existe una para su plataforma, ya que suele ser más fácil de instalar que una distribución fuente.

La instalación desde la fuente puede ser preferible en los siguientes casos:

  • Si necesita instalar MySQL en alguna ubicación especificada explícitamente (las entregas binarias estándar están "listas para ejecutarse" en cualquier lugar, pero es posible que necesite aún más flexibilidad).
  • Para satisfacer los diferentes requisitos de los usuarios, proporcionamos dos versiones binarias diferentes: una compilada con controladores de tablas no transaccionales (código binario pequeño y rápido) y la segunda configurada con las capacidades de extensibilidad más importantes, como tablas con reconocimiento de transacciones. Ambas versiones están compiladas a partir del mismo código fuente. Todos los clientes nativos de MySQL pueden conectarse a ambas versiones. La distribución binaria de la versión extendida de MySQL está marcada con el sufijo -max y está configurada con las mismas opciones que mysqld-max. Consulte la sección 4.7.5 mysqld-max, un servidor mysqld extendido. Si desea utilizar el paquete MySQL-Max RPM, primero debe instalar el paquete MySQL RPM estándar.
  • Si necesita configurar mysqld con algunas funciones adicionales que no están disponibles en las distribuciones binarias estándar. A continuación se muestra una lista de las opciones adicionales más comunes que quizás desee utilizar:
    • --con-innodb
    • --con-berkeley-db
    • --con-raid
    • --con-libwrap
    • --with-named-z-lib (Esto se hace para algunas distribuciones binarias)
    • --con-depuración[=completo]
  • De forma predeterminada, una distribución binaria generalmente se compila con soporte para todas las codificaciones y debe ejecutarse en diferentes procesadores de la misma familia de procesadores. Si desea un servidor MySQL más rápido, puede recompilarlo para que admita solo la codificación que necesita, usar un compilador mejor (como pgcc) o usar opciones de compilador que estén mejor optimizadas para su procesador.
  • Si encuentra un error y lo informa al equipo de desarrollo de MySQL, se le debe enviar un parche que debe aplicarse a la distribución del código fuente para corregir el error.
  • Si desea leer (y/o modificar) el código fuente de MySQL (en C y C++), debe tener una distribución de código fuente. El código fuente es siempre la mejor documentación. Las distribuciones fuente también contienen más pruebas y ejemplos que las distribuciones binarias.

El sistema de nombres de MySQL utiliza números de versión, que constan de tres números y un sufijo. Por ejemplo, la versión mysql-3.21.17-beta se interpreta de la siguiente manera:

  • El primer número (3) describe el formato del archivo. Todas las versiones de la versión 3 tienen el mismo formato de archivo.
  • El segundo número (21) representa el nivel de salida. Generalmente se puede elegir entre dos posibilidades. Uno representa el lanzamiento de la rama estable (actualmente 23) y el segundo representa la rama experimental (actualmente 4.0). Normalmente, ambas ramas son estables, pero la versión experimental puede tener algunas peculiaridades, puede carecer de documentación para nuevas funciones o puede no compilarse en algunos sistemas.
  • El tercer número (17) es el número de versión dentro del nivel de lanzamiento. Este número aumenta con cada nueva distribución. Generalmente tiene sentido elegir el más ultima versión para el nivel de versión seleccionado.
  • El sufijo (beta) indica el nivel de estabilidad de una versión determinada. Son posibles los siguientes sufijos:
    • alfa indica que la versión contiene grandes secciones de código nuevo que no está 100% probado. Los errores encontrados (normalmente no hay ninguno) deben documentarse en la sección "Noticias". Ver Ver sección D Historial de cambios y actualizaciones de MySQL. La mayoría de las versiones alfa también incluyen nuevos comandos y extensiones. Mientras se trabaja en una versión alfa, puede haber un desarrollo activo que implique cambios importantes en el código, pero todo se prueba antes del lanzamiento. Cualquier versión de MySQL debe estar libre de errores conocidos.
    • beta significa que todo el código nuevo ha sido probado. No se agregan nuevas propiedades que puedan romper el código antiguo. No debería haber errores conocidos. Una versión se cambia de alfa a beta cuando no ha habido informes de errores críticos en la versión alfa durante al menos un mes y no planeamos agregar ninguna característica nueva que pueda reducir la confiabilidad de los comandos anteriores.
    • gamma es una versión beta que está casi terminada y parece estar funcionando bien. Solo se agregan correcciones menores. Esto es exactamente lo que muchas otras empresas llaman comunicado.
    • Si no hay ningún sufijo, significa que esta versión se ejecutó en muchos sistemas diferentes. sistemas informáticos sin mensajes de error, excepto errores específicos de la plataforma; sólo permite la corrección de errores críticos. Por eso llamamos a esta versión estable.

Todas las versiones de MySQL se someten a nuestras pruebas y puntos de referencia estándar para garantizar que su uso sea confiable. Debido a que las pruebas estándar se amplían periódicamente para incluir pruebas de nuevos errores descubiertos y las situaciones que podrían causarlos, el conjunto de pruebas mejora cada vez más con el tiempo.

Tenga en cuenta que todas las versiones se prueban con al menos las siguientes pruebas:

Suite de pruebas interna La suite es parte del sistema de producción del cliente. Este conjunto incluye muchas tablas con cientos de megabytes de datos. MySQL Performance Test Suite Estas pruebas se ejecutan en un conjunto de consultas de uso común. También le permiten ver si el último paquete de optimización realmente hace que su código sea más rápido. Mira la sección. prueba crash-me La prueba intenta determinar qué funcionalidad

soporta la base de datos y cuáles son sus capacidades y limitaciones. Consulte la sección 5.1.4 MySQL Benchmark Suite.

Hay otra prueba. Consiste en que ejecutemos la última versión de MySQL en nuestro entorno de producción interno en al menos una máquina. Disponemos de más de 100 gigas de datos para trabajar con esta versión.

Lanzamiento de la versión estable de MySQL versión 5.6. Se ha trabajado mucho en la nueva versión. Los principales esfuerzos estuvieron dirigidos a mejorar el rendimiento, la escalabilidad y la flexibilidad. El motor InnoDB ha sufrido cambios importantes. Las mejoras clave incluyen: soporte para herramientas de búsqueda de texto completo, la capacidad de acceder a datos a través de la API de Memcached, mayor rendimiento durante la grabación intensiva de datos y mayor escalabilidad durante el procesamiento. gran número

solicitudes simultáneas.

Otra innovación en la versión 5.6 es la capacidad de ejecutar operaciones DDL (lenguaje de definición de datos) sin desconectar el DBMS e interrumpir el acceso a las tablas. Los administradores pueden realizar operaciones relacionadas con restablecer el esquema, agregar o eliminar columnas de datos o cambiar el nombre de las columnas sin apagar el DBMS. Anteriormente, estas funciones sólo estaban disponibles en productos NoSQL.

En comparación con la versión 5.5, el nuevo producto ahora puede ejecutarse en servidores de 48 núcleos, frente a los 32 núcleos de MySQL 5.5.

  • Un poco más de detalle sobre las características clave:
  • Ahora es posible crear índices de texto completo para una organización en InnoDB búsqueda rápida por formas de palabras entre el contenido de texto almacenado en tablas InnoDB. Anteriormente, la búsqueda de texto completo solo estaba disponible para tablas MyISAM.
  • Mejorar la eficiencia del optimizador de consultas, optimizando el proceso de selección del conjunto de valores resultante, ordenando y ejecutando la consulta. Las nuevas optimizaciones de pushdown de condición de índice (ICP) y acceso de clave por lotes (BKA) permiten hasta 280x rendimiento cumplir algunas peticiones. Se ha aumentado la eficiencia de ejecutar consultas como “SELECT... FROM single_table... ORDER BY non_index_column LIMIT N;”. Se ha mejorado el rendimiento de las consultas “SELECT... LIMIT N” que muestran solo parte de las filas de una muestra grande.
  • Se han ampliado las herramientas de diagnóstico del optimizador y se ha agregado compatibilidad con EXPLAIN para las operaciones INSERTAR, ACTUALIZAR y ELIMINAR. Los resultados de EXPLAIN ahora se pueden generar en formato JSON. Nuevo modo Los seguimientos del optimizador le permiten realizar un seguimiento de cada decisión tomada durante la optimización de consultas.
  • Optimizaciones adicionales para la ejecución de subconsultas, en las que las consultas anidadas del formulario “SELECCIONAR... DE tabla1 DONDE... EN (SELECCIONAR... DE tabla2...))” se traducen en una representación más óptima en la etapa antes de que la consulta se ejecute directamente, por ejemplo, reemplazada por un JOIN más eficiente.
  • Ampliación de la implementación del sistema de diagnóstico PERFORMANCE_SCHEMA, que proporciona herramientas de bajo nivel para monitorear la ejecución de consultas y diversos eventos durante el funcionamiento del DBMS. PERFORMANCE_SCHEMA proporciona información detallada sobre los cuellos de botella en consultas de larga duración, así como estadísticas resumidas agrupadas por consulta, subproceso, usuario, host y objeto.
  • Se ha mejorado la implementación del motor InnoDB, hay un aumento en el rendimiento al ejecutar transacciones y durante actividades con predominio de operaciones de lectura de datos; en algunas situaciones, la aceleración alcanza el 230%.
  • Modo de replicación diferida, que le permite replicar datos no inmediatamente, sino con un cierto retraso, lo que le permite brindar protección contra errores del operador (por ejemplo, eliminación accidental del contenido de la tabla).
  • Aumentar el tamaño máximo de archivos con registros de cambios (InnoDB Redo Log) de 4 GB a 2 TB.
  • Mejoras de seguridad: soporte para especificar parámetros de autenticación en el archivo .mylogin.cnf en forma cifrada; agregar el complemento sha256_password para almacenar hashes de contraseñas utilizando el algoritmo SHA-256; agregar un campo con el tiempo de vencimiento de la contraseña a la tabla mysql.user; Nueva función SQL VALIDATE_PASSWORD_STRENGTH() para evaluar la seguridad de la contraseña.
  • Soporte para ejecutar el servidor en modo de solo lectura (opción --innodb-read-only, solo InnoDB).
  • Soporte para especificar fracciones de segundo en las funciones TIME, DATETIME y TIMESTAMP para especificar microsegundos.
  • Soporte para las opciones "--log", "--log-slow-queries", "--one-thread", "--safe-mode", "--skip-thread-priority", "--table- "Se ha descontinuado el caché".
Puede obtener más información sobre las innovaciones en MySQL (que significa sistema gratuito de administración de bases de datos relacionales): este es un servidor de base de datos compacto de subprocesos múltiples que se caracteriza por su alta velocidad, estabilidad y facilidad de uso.

Desarrollado inicialmente por TcX para resolver problemas internos: el procesamiento más rápido posible de grandes bases de datos. Utilizado internamente desde 1996 en un servidor con más de 40 bases de datos que contienen 10.000 tablas, de las cuales más de 500 tienen más de 7 millones de filas.

Hoy en día, MySQL es desarrollado y respaldado por Oracle Corporation, que adquirió Sun Microsystems el 27 de enero de 2010, tras lo cual incluyó MySQL en su línea de productos. Anteriormente (26 de febrero de 2008), Sun Microsystems pagó mil millones de dólares para comprar MySQL AB. El producto se distribuye bajo la Licencia Pública General GNU y su propia licencia comercial. Además, los desarrolladores crean funciones a petición de los usuarios con licencia; fue gracias a este orden que el mecanismo de replicación apareció casi en las primeras versiones.

MySQL es el más solucion optima para aplicaciones pequeñas y medianas. Las fuentes del servidor se compilan en muchas plataformas. Las capacidades del servidor se demuestran más plenamente en los servidores Unix, donde hay soporte para subprocesos múltiples, lo que proporciona un aumento significativo en el rendimiento. Incluido en los servidores WAMP, AppServ, LAMP y en las compilaciones de servidores portátiles Denver, XAMPP. MySQL se utiliza normalmente como un servidor al que acceden clientes locales o remotos, pero la distribución incluye una biblioteca de back-end que permite incluir MySQL en programas independientes.
Gracias a su soporte para una gran cantidad de tipos de tablas, MySQL es bastante flexible. Los usuarios pueden seleccionar tanto tablas de búsqueda de texto completo de MyISAM como tablas de transacciones individuales de InnoDB. Además, MySQL viene con un tipo de tabla EJEMPLO especial que demuestra cómo crear nuevos tipos de tablas. Gracias a esto, además de la arquitectura abierta y la licencia GPL, es posible agregar nuevos tipos de tablas a MySQL casi infinitamente.

El servidor MySQL es gratuito para uso no comercial. De lo contrario, deberá adquirir una licencia, cuyo coste actual es de 190 EUR.

La comunidad de desarrolladores de MySQL ha creado varias bifurcaciones de código, como Drizzle, OurDelta, Percona Server y MariaDB. Todas estas sucursales ya existían en el momento de la adquisición de Sun por parte de Oracle.

El surgimiento de MySQL

Antes de 1994, el mercado consistía principalmente en bases de datos diseñadas para manejar grandes volúmenes de datos y relaciones complejas, que tenían una variedad de capacidades, pero al mismo tiempo requerían importantes recursos informáticos. Estas bases de datos incluyen Oracle, Informix y Sybase. No existían DBMS que admitieran SQL y fueran asequibles al mismo tiempo.

Las grandes corporaciones y universidades podían permitirse el lujo de comprar sistemas informáticos potentes, mientras que las organizaciones y los usuarios más pequeños utilizaban bases de datos de escritorio débiles como Postgres, que utilizaba una variante del lenguaje QUEL (PostQUEL), pero que, lamentablemente, requería los mismos recursos. sus análogos, pero no proporcionó una ventaja usando SQL como lenguaje de consulta.

Luego, un tal David Hughes (que luego se convirtió, después de publicar su trabajo en Internet, en conocido como Bamby), que en ese momento estaba escribiendo una disertación en la Universidad Bond (Australia), comenzó a desarrollar el proyecto Minerva Network Management System, un sistema de monitoreo y sistema de control desde uno o más puntos sobre un grupo de sistemas. El elemento principal del proyecto era ser una base de datos para almacenar información sobre todas las computadoras en la red. Hughes primero decidió utilizar Postgres. Sin embargo, los colegas sugirieron usar SQL como lenguaje de consulta para Minerva, ya que SQL es el lenguaje de consulta más común y, al usarlo, Minerva podría estar disponible en cualquier parte del planeta donde haya un RDBMS que admita SQL. Este fue el impulso para la creación de MySQL.

Hughes decidió crear él mismo un programa que traduciría SQL a PostQUEL en tiempo real. Llamó a su programa miniSQL o mSQL. Interceptó declaraciones SQL enviadas por Minerva, las convirtió a PostQUEL y envió el resultado a Postgres. Durante algún tiempo, esta situación le convenía a Hughes. Sin embargo, como resultado del mayor crecimiento de Minerva, se hizo evidente que con los recursos limitados disponibles, ni Postgres ni ningún otro RDBMS grande podría soportar el pequeño conjunto de características que necesita. Por ejemplo, para implementar la capacidad de conectar Minerva a varias bases de datos a la vez, Postgres requirió el lanzamiento simultáneo de varias instancias del servidor de la base de datos.

Para solucionar estos problemas, Hughes analizó el trabajo de Minerva y resultó que las principales consultas generadas por Minerva eran: "insertar", "eliminar" y "seleccionar". Como Hughes ya tenía mSQL realizando la traducción de SQL, solo necesitaba crear un servidor de base de datos que se adaptara a sus necesidades.

Y aquí es donde entra en juego Michael Monty Widenius, considerado el inventor de MySQL. En 1979, desarrolló una herramienta de gestión de bases de datos llamada UNIREG. Posteriormente, UNIREG se amplió para admitir bases de datos más grandes y se reescribió en varios idiomas. En 1994, TcX comenzó a desarrollar aplicaciones www utilizando UNIREG. Sin embargo, debido a los elevados gastos generales, UNIREG no se pudo utilizar con éxito para generar páginas web dinámicamente. Por lo tanto, Widenius decidió contactar al autor de mSQL, Hughes, para sugerirle que conectara mSQL al controlador B+ ISAM en UNIREG. Sin embargo, Hughes hizo grandes progresos en el camino hacia mSQL 2 y la empresa decidió crear un servidor de base de datos que se adaptara a sus necesidades.

TcX tomó como base UNIREG y utilizó utilidades de terceros para mSQL, escribió una API para su sistema, que inicialmente era muy similar a la API para mSQL. Sin embargo, esto permitió a cualquier usuario de mSQL que quisiera migrar al servidor de base de datos TcX realizar cambios menores en su código. El código fuente de la nueva base de datos era completamente original. Así, en mayo de 1995, la empresa contaba con una base de datos MySQL 1.0 que satisfacía plenamente las necesidades de la empresa.

En 1995, David Oxmark, que trabaja para Detron HB y es socio comercial de la empresa, comenzó a invitar activamente a TcX a distribuir MySQL DBMS a través de Internet. David incluso participó en el trabajo de documentación. Como resultado, la versión 3.11.1 del DBMS MySQL se lanzó en 1996 como una distribución binaria para ejecutar Linux y Solaris. Hoy en día, MySQL se ejecuta en muchas plataformas y está disponible tanto en versión binaria como fuente.

Hoy en día, MySQL se ha convertido en la herramienta más popular para trabajar con bases de datos en PHP. Esto se debe principalmente al hecho de que la compatibilidad con este servidor está incluida en la distribución de PHP. Además, la popularidad de MySQL contribuye bastante buenas caracteristicas y una amplia gama de funciones de interfaz estándar que son extremadamente fáciles de usar.

La política de licencias de MySQL es más flexible que la de otros servidores de bases de datos. Básicamente, MySQL es gratuito a menos que desee venderlo o vender servicios creados con él.

MySQL es altamente portátil y puede usarse igualmente bien en sistemas operativos comerciales como Solaris, Irix o Windows, y en cualquier hardware hasta servidores potentes. Además, al igual que sus rivales más caros, puede manejar grandes bases de datos que contienen millones de registros.

Nombre y logotipo

En cuanto al nombre, existen varias versiones sobre su origen. La primera versión dice que el uso del prefijo "mi" se explica por el hecho de que en TcX el catálogo base, así como un número significativo de bibliotecas y utilidades, fueron designados con ese prefijo durante diez años. Por tanto, era lógico utilizarlo en este caso.

La segunda versión, más sentimental, se basa en el hecho de que Michael Monty Widenius nombró el nuevo producto MySQL con el nombre de su hija: My. El nombre de la hija de Videnius es realmente My, y él mismo no refuta ni la primera ni la segunda versión.

El logo del delfín de MySQL se llama "Sakila". Fue elegido de una gran lista de "nombres de delfines" sugeridos por los usuarios. El nombre "Sakila" fue enviado por el desarrollador de código abierto Ambrose Twebaze.

Características de MySQL

La característica principal de MySQL es que soporta el lenguaje consultas SQL en el estándar ANSI 92, y además tiene muchas extensiones a este estándar que no se encuentran en ningún otro sistema de gestión de bases de datos.
Una breve lista de características de MySQL:

1. Operación eficiente mantenida cantidad ilimitada usuarios que trabajan simultáneamente con la base de datos.

2. El número de filas en las tablas puede llegar a 50 millones.

3. La ejecución de comandos más rápida posible. Existe la opinión de que MySQL es el servidor más rápido que existe.

4. Sistema de seguridad sencillo y eficaz.

Gráfico de ejemplo en MySQL


Desventajas de MySQL

Sin embargo, MySQL también tiene algunas desventajas. Esto se debe principalmente al hecho de que para alcanzar una velocidad tan alta, los desarrolladores tuvieron que sacrificar algunos de los requisitos de los sistemas de gestión de bases de datos relacionales.

Entonces, falta MySQL:

1 . Soporte para consultas anidadas como SELECT * FROM table1 WHERE id IN (SELECT id FROM table2) (en versiones anteriores).

2. El soporte de transacciones no está implementado. En su lugar, se propone utilizar LOCK/UNLOCK TABLE.

3. No hay soporte para claves externas.

4 . No hay soporte para desencadenadores ni procedimientos almacenados.

5 . No hay soporte para vistas (VER). En la versión 3.23 está previsto poder crear vistas.

Según los creadores, fueron los puntos 2 a 4 los que permitieron lograr un alto rendimiento. Su implementación reduce significativamente la velocidad del servidor. Estas características no son críticas al crear aplicaciones web, lo que, combinado con un alto rendimiento y un precio bajo, permitió que el servidor se volviera muy popular.

Licencia

MySQL tiene doble licencia. MySQL puede distribuirse según los términos de la GPL. Sin embargo, según los términos de la GPL, si algún programa incluye códigos fuente MySQL, entonces también debería distribuirse bajo la licencia GPL. Esto puede estar en desacuerdo con los planes de los desarrolladores que no quieren abrir textos fuente sus programas. Para tales casos, se proporciona una licencia comercial, que también proporciona un servicio de soporte de alta calidad.

Plataformas

MySQL portado a un gran número de plataformas: AIX, BSDi, FreeBSD, HP-UX, Linux, Mac OS X, NetBSD, OpenBSD, OS/2 Warp, SGI IRIX, Solaris, SunOS, SCO OpenServer, UnixWare, Tru64, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Servidor de windows 2003, WinCE, Windows Vista y Windows 7. También hay un puerto MySQL para OpenVMS. Es importante tener en cuenta que en el sitio web oficial de DBMS, no solo se proporcionan códigos fuente para descarga gratuita, sino también módulos ejecutables MySQL DBMS listos para usar, compilados y optimizados para sistemas operativos específicos.

Lenguajes de programación

MySQL tiene API para Delphi, C, C++, Eiffel, Java, Lisp, Perl, PHP, Python, Ruby, Smalltalk, Component Pascal y Tcl, bibliotecas para lenguajes de plataforma .NET y también brinda soporte para ODBC a través del controlador ODBC MyODBC.

Historial de versiones

El primer lanzamiento interno de MySQL tuvo lugar el 23 de mayo de 1995 [fuente no especificada 1224 días].
La versión para sistemas Windows (Windows 95 y NT) fue lanzada el 8 de enero de 1998.
Versión 3.23: versión beta en junio de 2000, lanzamiento en enero de 2001.
Versión 4.0: beta en agosto de 2002, lanzamiento en marzo de 2003.
Versión 4.1: beta en junio de 2004, lanzamiento en octubre de 2004.
Versión 5.0: beta en marzo de 2005, lanzamiento en octubre de 2005.
Versión 5.1: el desarrollo comenzó en noviembre de 2005, lanzamiento en noviembre de 2008.
Versión 5.4: beta en abril de 2009, no se lanzó.
Versión 5.5: lanzamiento en diciembre de 2010.
Versión 5.6: en desarrollo (5.6.6 m9 7 de agosto de 2012).

Historial de versiones



mysql 4.0

Aunque la versión 4.0 está desactualizada, todavía tiene una adopción significativa. Características principales de esta versión:

Implementación casi completa de ANSI SQL-99, más extensiones;
compatibilidad multiplataforma;
tipos de tablas independientes (MyISAM para lectura rápida, InnoDB para transacciones y integridad referencial);
actas;
soporte SSL;
solicitar almacenamiento en caché;
replicación: un servidor principal por cada esclavo, muchos esclavos por cada cabeza;
indexación y búsqueda de texto completo utilizando el tipo de tabla MyISAM;
biblioteca de bases de datos implementada;
Soporte Unicode (UTF-8);
Tablas InnoDB compatibles con ACID;
un servidor integrado que permite incluir MySQL en aplicaciones independientes.

Consultas anidadas y tablas derivadas.
nuevo sistema codificaciones y clasificaciones;
un protocolo cliente-servidor más rápido y flexible con soporte para consultas preparadas, asegurando su óptima ejecución;
nuevo programa instalaciones y configuraciones para Microsoft Windows y Linux;
conexiones cliente-servidor aseguradas mediante OpenSSL;
biblioteca altamente optimizada que se puede utilizar en programas de terceros;
compatibilidad total con Unicode (UTF-8 y UCS2);
tipos de datos espaciales SIG estándar para almacenar información geográfica;
Sistema de ayuda y búsqueda de texto completo mejorado.

MySQL 5.0

La versión MySQL 5.0 fue lanzada el 24 de octubre de 2005, esta versión ha ampliado significativamente la funcionalidad que coloca a MySQL a la par de los DBMS comerciales. Si anteriormente se acusaba al DBMS MySQL de soporte insuficiente para el estándar SQL, con la llegada de la quinta versión de esta popular base de datos, apareció un soporte casi completo para el estándar SQL. MySQL 5.0 contiene las siguientes innovaciones:
procedimientos y funciones almacenados;
manejadores de errores;
cursores;
desencadenantes;
representación;
diagrama de información(el llamado diccionario del sistema que contiene metadatos).

MySQL 5.1

MySQL 5.1 continúa el camino hacia el estándar SQL:2003. MySQL 5.1 contiene las siguientes innovaciones:

La partición es la capacidad de dividir una tabla grande en varias partes ubicadas en diferentes sistemas de archivos, según una función definida por el usuario. En determinadas condiciones, esto puede proporcionar un aumento significativo del rendimiento y, además, facilita el escalado de tablas.
Se ha cambiado el comportamiento de varios operadores para garantizar una mayor compatibilidad con el estándar SQL2003.
Replicación basada en filas, en la que solo la información sobre las filas de la tabla realmente modificadas se escribirá en el registro binario en lugar del texto de consulta original (y posiblemente lento). La replicación de filas solo se puede usar para ciertos tipos de consultas SQL, en términos de MySQL: replicación mixta.
Programador incorporado de trabajos iniciados periódicamente. En términos de sintaxis, agregar una tarea es similar a agregar un disparador a una tabla; en ideología, es similar a crontab.
Conjunto adicional de funciones para procesamiento XML, implementación de soporte XPath.
Nuevas utilidades de diagnóstico de problemas y análisis de rendimiento. Se han ampliado las capacidades para administrar el contenido de los archivos de registro; los registros ahora se pueden guardar en las tablas general_log y slow_log. La utilidad mysqlslap le permite realizar pruebas de carga de la base de datos y registrar el tiempo de respuesta para cada solicitud.
Para simplificar la operación de actualización, se ha preparado la utilidad mysql_upgrade, que verificará la compatibilidad de todas las tablas existentes con la nueva versión y, si es necesario, realizará los ajustes apropiados.
MySQL Cluster ahora se lanza como un producto separado basado en MySQL 5.1 y almacenamiento NDBCLUSTER.
Cambios significativos en trabajo MySQL Clúster, como, por ejemplo, la capacidad de almacenar datos tabulares en el disco.
Vuelva a utilizar la biblioteca libmysqld incorporada, que faltaba en MySQL 5.0.
Una API para complementos que le permite cargar módulos de terceros que amplían la funcionalidad (como la búsqueda de texto completo) sin reiniciar el servidor.
Implementación de un analizador de búsqueda de texto completo como complemento.
Nuevo tipo de mesa María (clon de MyISAM resistente a fallos).

tipo de mesa maria

María (a partir de la versión 5.2.x - Aria): una versión extendida del almacenamiento MyISAM, con la adición de herramientas para mantener la integridad de los datos después de una falla.
Principales ventajas de María:

En caso de falla, los resultados de la operación actual se revierten o se devuelven al estado anterior al comando LOCK TABLES. Implementación mediante operaciones de registro.
Capacidad para restaurar el estado desde cualquier punto del registro de operaciones, incluida la compatibilidad con CREATE/DROP/RENAME/TRUNCATE. Se puede utilizar para crear incrementos. copias de seguridad, mediante la copia periódica del registro de transacciones.
La compatibilidad con todos los formatos de columnas MyISAM se ha ampliado con un nuevo formato de "filas en bloque" que utiliza un método de almacenamiento de datos basado en páginas en el que los datos de las columnas se pueden almacenar en caché.
En el futuro se implementarán dos modos: transaccional y sin reflejo en el registro de transacciones, para datos no críticos.
El tamaño de la página de datos es de 8 KB (en MyISAM 1 KB), lo que permite un mejor rendimiento para índices en campos de tamaño fijo, pero más lento en el caso de indexar claves de longitud variable.

MySQL 5.5

La rama MySQL 5.5 se basa en la serie MySQL 5.4 inédita y contiene una serie de mejoras significativas relacionadas con una mayor escalabilidad y rendimiento, que incluyen:
Usando el motor InnoDB por defecto.
Soporte para un mecanismo de replicación semisincrónico basado en parches para InnoDB de Google.
Funcionalidad de partición de datos mejorada. Sintaxis avanzada para dividir tablas grandes en múltiples partes ubicadas en sistemas de archivos (particionamiento). Se agregaron operaciones RANGE, LIST y el método de optimización de “poda de partición”.
Un nuevo mecanismo para optimizar consultas anidadas y operaciones JOIN.
El sistema de bloqueo interno ha sido rediseñado.
Se han integrado parches de Google para optimizar el rendimiento de InnoDB en procesadores con una gran cantidad de núcleos.

mysql 6.0

La versión MySQL 6.0 se congeló en la etapa de prueba alfa. Inicialmente, se decidió crear la versión 5.2, pero pronto esta versión pasó a llamarse 6.0. Sin embargo, la información sobre MySQL 6.0 desapareció posteriormente del sitio y los desarrolladores se centraron en la versión 5.5 y la posterior 5.6.
Se planeó que una de las principales innovaciones de la versión 6.0 fuera un nuevo tipo de tabla Falcon, desarrollada como un posible reemplazo de InnoDB de Innobase, adquirida por Oracle. En relación con la adquisición de Sun Microsystems por parte del mismo Oracle en 2010, el destino de Falcon sigue siendo incierto.

Especificaciones

El tamaño máximo de tabla en MySQL 3.22 es de hasta 4 GB, en versiones posteriores talla máxima hasta 8 millones de TB (263 bytes).
El tamaño de una mesa está limitado por su tipo. En general, el tipo MyISAM está limitado por un límite de tamaño de archivo de sistema de archivos Sistema operativo. Por ejemplo, en NTFS este tamaño, en teoría, puede ser de hasta 32 exabytes. En el caso de InnoDB, una tabla se puede almacenar en varios archivos que representan un único espacio de tabla. El tamaño de este último puede alcanzar los 64 terabytes.

A diferencia de MyISAM, InnoDB tiene un límite significativo en la cantidad de columnas que se pueden agregar a una sola tabla. El tamaño de página de memoria predeterminado es de 16 kilobytes, de los cuales 8123 bytes se asignan para datos. El tamaño de un puntero a campos dinámicos es de 20 bytes. Por lo tanto, cuando se utiliza el formato de fila dinámico (ROW_FORMAT=DYNAMIC), una tabla puede contener un máximo de 409 columnas de texto o blobs.

A partir de la versión 4.1, se introdujo un nuevo sistema de codificación y clasificación en el DBMS MySQL. Cuando se utiliza la codificación Windows-1251, antes de ejecutar declaraciones SQL, debe configurar la codificación de la conexión utilizando los operadores:

ESTABLECER carácter_set_client="cp1251";
ESTABLECER carácter_set_results="cp1251";
ESTABLECER carácter_set_connection="cp1251";

Estas tres declaraciones equivalen a llamar a una declaración:

ESTABLECER NOMBRES "cp1251"

La variable Character_set_client establece la codificación de los datos enviados desde el cliente, la variable Character_set_results establece la codificación de los datos enviados al cliente, la variable Character_set_connection establece la codificación en la que se convierte la información recibida del cliente antes de ejecutar la solicitud en el servidor.

Cuando se utiliza UTF-8 Unicode, esta declaración se ve así:
ESTABLECER NOMBRES "utf8"

No se admite la codificación ISO 8859-5.