Seleziona la versione di MySQL e come scoprire la versione di MySQL. Selezionare la versione di MySQL e come scoprire la versione di MySQL Come scoprire quale versione di MySQL è installata

  • Sicurezza
  • Qualità
  • Prezzo
  • Affidabilità
  • Semplicità
  • Stabilità
  • Supporto
  • Velocità
  • Pannello di controllo

Sezione di aiuto delle domande frequenti

Recensione di hosting video

Come caricare un server su FTP

ATTENZIONE: Devi solo caricare 3 cartelle ( filterscript, modalità di gioco, file di script) e 1 file server.cfg, quindi scrivi la riga in server.cfg (se non c'è) plugins streamer.so sscanf.so CRP.so mysql.so Devi anche assicurarti che la mod in formato .amx esista nella cartella gamemodes, e il il nome della mod è scritto correttamente in server.cfg (config).

Client FileZilla
accedere ospite Esempio: 194.58.88.74 - login *****- parola d'ordine******** NON INSERIRE NULLA NEL CAMPO PORTO!!!

ATTENZIONE: Se non è presente alcuna connessione all'FTP tramite FileZilla, scarica Comandante totale e connettiti attraverso di esso!

Comandante totale- per caricare i file campione su FTP
accedere ospite Esempio: 194.58.88.74 - login 173104911- parola d'ordine g1KdN7D3q

Dove entrare? Risposta: esegui Total Commander > Rete > Connetti al server FTP > Aggiungi e quindi inserisci i tuoi dati come mostrato nello screenshot di esempio:

Mod sconosciuto

Se il campo della modalità di gioco indica "sconosciuto", segui questi passaggi:
1. Innanzitutto, spegni il server
2.Vai al pannello di controllo nella scheda Opzioni server > Impostazioni
3.Aggiungi una riga qui sotto plugin streamer.so sscanf.so CRP.so mysql.so
Cambia il nome dei plugin se la mod è sconosciuta, ad esempio: plugins streamer.so sscanf.so CRP.so mysql.so SU plugin streamer2.7.2.so sscanf.so CRP.so mysqlR34.so
*La cartella dei plugin viene installata inizialmente per impostazione predefinita e contiene tutti i plugin necessari.
*Puoi installare uno qualsiasi dei tuoi plugin su FTP, quindi registrarli nel pannello di controllo nella sezione Impostazioni plug-in richiesto per il server.
*Per compilare e aggiornare lo streamer, utilizzare il programma PAWNO
4.In una cartella plugin dovrebbero essere presenti plugin con estensione .so per Linux: seleziona il plugin desiderato per il tuo server e scrivi il suo nome nel pannello impostazioni nella riga plugin ESEMPIO: plugins streamer.so
5.Non dimenticare che utilizziamo OS Linux, il che significa nelle Impostazioni del pannello
scrivere la riga per i plugin plugins: streamer.so sscanf.so CRP.so con l'estensione .COSÌ altrimenti il ​​tuo server non funzionerà correttamente.

Per Sistema operativo Linux registrati in server.cfg come: plugins streamer.so sscanf.so CRP.so mysql.so antiattack.so
Uno dei plugin libmysqlclient.so.15 libmysqlclient.so.16 libmysqlclient_r.so.16 dovrebbe trovarsi nella cartella del server.

Attenzione: se il server funziona correttamente su sistema operativo Windows, ciò non significa che funzionerà correttamente su Linux.

Cosa devo fare se dopo il riempimento non sono presenti icone, case, attività commerciali, ecc.?

Scrivi streamer2.5.so nella configurazione, salva e riavvia il server.
Esempio:

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

Come scoprire la versione del plugin?
SU computer locale avvia il server, quindi guarda nel registro, lì verrà indicata la versione del plugin e registra questa versione sull'hosting nella configurazione del server.
Esempio:


Plugin del server
--------------
Caricamento plugin: streamer.so
*** Plugin Streamer v2.6.1 di Incognito caricato ***

Ciò significa che è necessario specificare la versione streamer2.6.1.so nella configurazione del server

Aiuto - Connessione del mod al server mysql

Apri la mod (file.PWN) con il programma PAWNO, specifica i tuoi dati dalla sezione MYSQL


Esempio:

#define mysql_host "host.sito"
#define mysql_db "s20000"
#define mysql_user "s20000"
#define mysql_pass "pigro"

Dopo aver compilato la mod in .AMX e importato la query SQL nel database

Attenzione! Se durante il processo di compilazione viene visualizzato il messaggio sconosciuto, la mod non verrà rilevata.
La soluzione è cercare uno scripter per correggere l'errore.

Per cambiare il nome della mod, o meglio il parametro hostname, devi entrare nel pannello di controllo del server nella sezione -Impostazioni (questa è la configurazione del server sever.cfg) e nella riga hostname a destra, inserisci il nome del tuo server , ad esempio: *** Il nostro Server è il Migliore * **
Salvare i dati nel pannello e assicurarsi di riavviare il server affinché i nuovi parametri abbiano effetto.
Se il tuo nome non è cambiato dopo tutto quanto sopra, allora devi cambiare il nome nella mod stessa con il programma PAWNO, e questa è una storia completamente diversa disponibile su Internet.

Server.cfg









domanda 1 – Non cambiamo.

maxnpc 10 – Non cambiamo.
onfoot_rate 40 – Non cambiare.
incar_rate 40 – Non cambiamo.
armi_rate 40 – Non cambiare.




- linea standard di plugin per la configurazione samp

Come darti un account amministratore

Vai al server nella cartella scriptfiles, trova il tuo NICK
esempio: Aldo_Mangano, apri il file utilizzando Blocco note,
trova la linea Livello amministratore specificare 1999, quindi salvare il file e riavviare il server.

Server.cfg

echo Esecuzione della configurazione del server…
lanmode 0 – 0 – gioco su Internet, 1 – gioco su una rete locale.
rcon_password 123 – “123” – password dal pannello di amministrazione sul server.
maxplayers 50 – Come hai già capito, il numero massimo è di giocatori. Nella versione 0.3a, massimo 500.
port 7777 – La porta visualizzata alla fine dell'indirizzo del server. (Si espone sull'hosting)
hostname NameServer – Il nome del tuo futuro server.
modalità gamemode0 – Mod di gioco per il tuo futuro server. Maggiori informazioni su questo qui sotto...
annunciare 0 – 1 il server è visibile nella scheda Internet / 0 non è visibile.
domanda 1 – Non cambiamo.
sito weburl: sito del server, se disponibile.
maxnpc 10 – Non cambiamo.
onfoot_rate 40 – Non cambiare.
incar_rate 40 – Non cambiamo.
armi_rate 40 – Non cambiare.
stream_distance 300.0 – Non modificare.
stream_rate 1000 – Non modificare.
password - tua_password (Server con una password)
lingua Russia - mappa per 0.3.7 al posto di mappa
plugin streamer.so sscanf.so CRP.so mysql.so regex.so dc_cmd.so CVector.so nativechecker.so- linea standard di plugin per la configurazione samp

Innanzitutto, devi decidere se desideri l'ultima versione sperimentale o l'ultima versione stabile:

  • Se stai per utilizzare MySQL per la prima volta o stai tentando di trasferire MySQL su un sistema che non dispone di una distribuzione binaria, in genere consigliamo di iniziare con la versione stabile (attualmente la versione 3.23). Tieni presente che tutte le versioni di MySQL vengono testate utilizzando i benchmark MySQL e una suite di test completa prima di ogni versione (anche per le versioni sperimentali).
  • Se stai lavorando con vecchio sistema e vuoi aggiornarlo, ma vuoi evitare possibili incoerenze durante l'aggiornamento, allora devi sostituirlo con la versione più recente nello stesso ramo che stai utilizzando (dove solo l'ultimo numero di versione è più recente del tuo). In tali versioni, proviamo a correggere solo gli errori critici e ad apportare solo modifiche piccole e relativamente sicure.

In secondo luogo, devi decidere se desideri utilizzare una distribuzione sorgente o una distribuzione binaria. Nella maggior parte dei casi, è meglio optare per una distribuzione binaria, se ne esiste una per la tua piattaforma, poiché di solito è più semplice da installare rispetto a una distribuzione sorgente.

L'installazione dal sorgente può essere preferibile nei seguenti casi:

  • Se è necessario installare MySQL in una posizione esplicitamente specificata (le distribuzioni binarie standard sono ``pronte per essere eseguite'' ovunque, ma potrebbe essere necessaria una flessibilità ancora maggiore).
  • Per soddisfare le diverse esigenze degli utenti, forniamo due diverse versioni binarie: una compilata con gestori di tabelle non transazionali (codice binario piccolo e veloce) e la seconda configurata con le più importanti capacità di estensibilità, come le tabelle sensibili alle transazioni. Entrambe le versioni sono compilate dallo stesso codice sorgente. Tutti i client nativi MySQL possono connettersi ad entrambe le versioni. La distribuzione binaria della versione MySQL Extended è contrassegnata dal suffisso -max ed è configurata con le stesse opzioni di mysqld-max . Vedere la sezione 4.7.5 mysqld-max, un server mysqld esteso. Se desideri utilizzare il pacchetto RPM MySQL-Max, devi prima installare il pacchetto RPM MySQL standard.
  • Se hai bisogno di configurare mysqld con alcune funzionalità aggiuntive che non sono disponibili nelle distribuzioni binarie standard. Di seguito è riportato un elenco delle opzioni aggiuntive più comuni che potresti voler utilizzare:
    • --con-innodb
    • --con-berkeley-db
    • --con-raid
    • --with-libwrap
    • --with-named-z-lib (questo viene fatto per alcune distribuzioni binarie)
    • --with-debug[=completo]
  • Per impostazione predefinita, una distribuzione binaria viene solitamente compilata con il supporto per tutte le codifiche e dovrebbe essere eseguita su processori diversi della stessa famiglia di processori. Se desideri un server MySQL più veloce, puoi ricompilarlo per supportare solo la codifica di cui hai bisogno, utilizzare un compilatore migliore (come pgcc) o utilizzare le opzioni del compilatore che sono meglio ottimizzate per il tuo processore.
  • Se trovi un bug e lo segnali al team di sviluppo MySQL, ti dovrebbe essere inviata una patch da applicare alla distribuzione del codice sorgente per correggere il bug.
  • Se vuoi leggere (e/o modificare) il codice sorgente MySQL (in C e C++), devi avere una distribuzione del codice sorgente. Il codice sorgente è sempre la migliore documentazione. Le distribuzioni di origine contengono anche più test ed esempi rispetto alle distribuzioni binarie.

Il sistema di denominazione di MySQL utilizza i numeri di versione, costituiti da tre numeri e un suffisso. Ad esempio, la versione mysql-3.21.17-beta viene interpretata come segue:

  • Il primo numero (3) descrive il formato del file. Tutte le versioni della versione 3 hanno lo stesso formato di file.
  • Il secondo numero (21) rappresenta il livello di uscita. Di solito c'è una scelta tra due possibilità. Uno rappresenta il rilascio del ramo stabile (attualmente 23) e il secondo rappresenta il ramo sperimentale (attualmente 4.0). In genere entrambi i rami sono stabili, ma la versione sperimentale potrebbe presentare alcune peculiarità, potrebbe mancare documentazione per nuove funzionalità o potrebbe non essere compilabile su alcuni sistemi.
  • Il terzo numero (17) è il numero di versione all'interno del livello di rilascio. Questo numero aumenta per ogni nuova distribuzione. Di solito ha senso scegliere di più ultima versione per il livello di rilascio selezionato.
  • Il suffisso (beta) indica il livello di stabilità di una determinata versione. Sono possibili i seguenti suffissi:
    • alfa indica che la versione contiene ampie sezioni di nuovo codice che non è stato testato al 100%. Gli errori rilevati (di solito non ce ne sono) dovrebbero essere documentati nella sezione "Novità". Vedere Vedere la sezione D Cronologia delle modifiche e degli aggiornamenti di MySQL. La maggior parte delle versioni alpha includono anche nuovi comandi ed estensioni. Mentre si lavora su una versione alpha, potrebbe esserci uno sviluppo attivo che comporta modifiche significative al codice, ma tutto viene testato prima del rilascio. Qualsiasi versione di MySQL deve essere priva di bug noti.
    • beta significa che tutto il nuovo codice è stato testato. Non vengono aggiunte nuove proprietà che potrebbero danneggiare il vecchio codice. Non dovrebbero essere presenti errori noti. Una versione viene cambiata da alpha a beta quando non vengono segnalati bug critici nella versione alpha per almeno un mese e non prevediamo di aggiungere nuove funzionalità che potrebbero ridurre l'affidabilità dei comandi precedenti.
    • gamma è una versione beta quasi terminata e sembra funzionare bene. Vengono aggiunte solo correzioni minori. Questo è esattamente ciò che molte altre aziende chiamano rilascio.
    • Se non c'è il suffisso, significa che questa versione funzionava su molti sistemi diversi sistemi informatici nessun messaggio di errore ad eccezione di errori specifici della piattaforma; per questo è consentita solo la correzione degli errori critici. Ecco perché chiamiamo questa versione stabile.

Tutte le versioni di MySQL vengono sottoposte ai nostri test e benchmark standard per garantire che siano affidabili da utilizzare. Poiché i test standard vengono periodicamente espansi per includere test sui nuovi bug scoperti e sulle situazioni che possono causarli, la suite di test migliora sempre di più nel tempo.

Tieni presente che tutte le versioni vengono testate almeno con i seguenti test:

Suite di test interni La suite è parte del sistema produttivo del cliente. Questo set include molte tabelle con centinaia di megabyte di dati. MySQL Performance Test Suite Questi test vengono eseguiti su una serie di query di uso comune. Ti consentono inoltre di vedere se l'ultimo pacchetto di ottimizzazione rende effettivamente il tuo codice più veloce. Vedere la sezione. crash-me test Il test cerca di determinare quale funzionalità supporta il database e quali sono le sue capacità e limitazioni. Vedere la sezione 5.1.4 MySQL Benchmark Suite.

C'è un'altra prova. Sta nel fatto che usiamo l'ultima versione Versione MySQL nel nostro ambiente di produzione interno su almeno una macchina. Abbiamo più di 100 gigabyte di dati per lavorare con questa versione.

Rilascio della versione stabile di MySQL versione 5.6. Nella nuova versione è stato fatto molto lavoro. Gli sforzi principali sono stati volti a migliorare le prestazioni, la scalabilità e la flessibilità. Il motore InnoDB ha subito modifiche significative.

I miglioramenti principali includono: supporto per strumenti di ricerca full-text, possibilità di accedere ai dati tramite l'API memcached, prestazioni migliorate durante la registrazione intensiva dei dati e maggiore scalabilità durante l'elaborazione elevato numero richieste simultanee.

Un'altra innovazione della versione 5.6 è la capacità di eseguire operazioni DDL (Data Definition Language) senza mettere offline il DBMS e interrompere l'accesso alle tabelle. Gli amministratori possono eseguire operazioni relative alla reimpostazione dello schema, all'aggiunta o all'eliminazione di colonne di dati o alla ridenominazione delle colonne senza arrestare il DBMS. In precedenza, tali funzionalità erano disponibili solo nei prodotti NoSQL.

Rispetto alla versione 5.5, il nuovo prodotto ora può essere eseguito su server a 48 core, contro i 32 core di MySQL 5.5

Qualche dettaglio in più sulle caratteristiche principali:

  • È stata implementata un'interfaccia per l'accesso diretto alle tabelle InnoDB nello stile dei sistemi NoSQL utilizzando un'API che manipola coppie chiave/valore ed è compatibile con memcached.
  • Ora è possibile creare indici full-text per un'organizzazione in InnoDB ricerca rapida per forme di parole tra i contenuti testuali archiviati nelle tabelle InnoDB. In precedenza, la ricerca full-text era disponibile solo per le tabelle MyISAM.
  • Migliorare l'efficienza dell'ottimizzatore delle query, ottimizzando il processo di selezione del set di valori di risultati, ordinamento ed esecuzione della query. Le nuove ottimizzazioni Index Condition Pushdown (ICP) e Batch Key Access (BKA) consentono fino a 280x portata esaudire alcune richieste. L'efficienza dell'esecuzione di query come "SELECT... FROM single_table... ORDER BY non_index_column LIMIT N;" è stata aumentata. Sono state migliorate le prestazioni delle query "SELECT... LIMIT N" che visualizzano solo parte delle righe di un campione di grandi dimensioni.
  • Gli strumenti diagnostici dell'ottimizzatore sono stati ampliati, è stato aggiunto il supporto EXPLAIN per le operazioni INSERT, UPDATE e DELETE. I risultati EXPLAIN possono ora essere restituiti in formato JSON. La nuova modalità di traccia dell'ottimizzatore ti consente di tenere traccia di ogni decisione presa durante l'ottimizzazione delle query.
  • Ulteriori ottimizzazioni per l'esecuzione di sottoquery, in cui le query annidate nella forma “SELECT... FROM table1 WHERE... IN (SELECT... FROM table2 ...))” vengono tradotte in una rappresentazione più ottimale in fase prima che la query venga eseguita direttamente, ad esempio, sostituita con un JOIN più efficiente.
  • Estensione dell'implementazione del sistema diagnostico PERFORMANCE_SCHEMA, che fornisce strumenti di basso livello per monitorare l'esecuzione di query e vari eventi durante il funzionamento del DBMS. PERFORMANCE_SCHEMA fornisce informazioni dettagliate sui colli di bottiglia nelle query a lunga esecuzione, nonché statistiche di riepilogo raggruppate per query, thread, utente, host e oggetto.
  • L'implementazione del motore InnoDB è stata migliorata, si nota un aumento delle prestazioni durante l'esecuzione delle transazioni e durante l'attività con predominanza delle operazioni di lettura dei dati - in alcune situazioni l'accelerazione raggiunge il 230%.
  • Modalità di replica differita, che consente di replicare i dati non immediatamente, ma con un certo ritardo, che consente di fornire protezione contro errori dell'operatore (ad esempio, cancellazione accidentale del contenuto della tabella).
  • Aumento della dimensione massima dei file con log delle modifiche (InnoDB Redo Log) da 4 GB a 2 TB.
  • Miglioramenti della sicurezza: supporto per specificare i parametri di autenticazione nel file .mylogin.cnf in forma crittografata; aggiunta del plugin sha256_password per memorizzare gli hash delle password utilizzando l'algoritmo SHA-256; aggiunta di un campo con la scadenza della password alla tabella mysql.user; nuova funzione SQL VALIDATE_PASSWORD_STRENGTH() per valutare la sicurezza della password.
  • Supporto per l'esecuzione del server in modalità di sola lettura (opzione --innodb-read-only, solo InnoDB).
  • Supporto per specificare le frazioni di secondo nelle funzioni TIME, DATETIME e TIMESTAMP per specificare i microsecondi.
  • Supporto per le opzioni "--log", "--log-slow-queries", "--one-thread", "--safe-mode", "--skip-thread-priority", "--table- "la cache è stata interrotta".
Puoi saperne di più sulle innovazioni su MySQL (sta per un sistema di gestione di database relazionale gratuito): si tratta di un server di database multi-thread compatto caratterizzato da alta velocità, stabilità e facilità d'uso.

Inizialmente sviluppato da TcX per risolvere problemi interni: l'elaborazione più rapida possibile di database di grandi dimensioni. Utilizzato internamente dal 1996 su un server con più di 40 database che contengono 10.000 tabelle, di cui più di 500 con più di 7 milioni di righe.

Oggi MySQL è sviluppato e supportato da Oracle Corporation, che ha acquisito Sun Microsystems il 27 gennaio 2010, dopo di che ha incluso MySQL nella sua linea di prodotti. In precedenza (26 febbraio 2008), Sun Microsystems aveva pagato 1 miliardo di dollari per acquistare MySQL AB. Il prodotto è distribuito sia sotto la GNU General Public License che sotto la propria licenza commerciale. Inoltre, gli sviluppatori creano funzionalità su richiesta degli utenti con licenza, è grazie a questo ordine che il meccanismo di replica è apparso quasi nelle prime versioni.

MySQL è il massimo soluzione ottimale per piccole e medie applicazioni. I sorgenti del server sono compilati su molte piattaforme. Le capacità del server sono dimostrate in modo più completo sui server Unix, dove è disponibile il supporto per il multithreading, che offre un aumento significativo delle prestazioni. Incluso nei server WAMP, AppServ, LAMP e nei server portatili, Denver, XAMPP. MySQL viene generalmente utilizzato come server a cui accedono client locali o remoti, ma la distribuzione include una libreria back-end che consente di includere MySQL in programmi autonomi.
Grazie al supporto di un numero enorme di tipi di tabelle, MySQL è abbastanza flessibile. Gli utenti possono selezionare sia le tabelle di ricerca full-text MyISAM che le singole tabelle delle transazioni InnoDB. Inoltre, MySQL viene fornito con uno speciale tipo di tabella EXAMPLE che dimostra i principi della creazione di nuovi tipi di tabella. Grazie a questo, oltre all'architettura aperta e alla licenza GPL, è possibile aggiungere a MySQL nuovi tipi di tabelle quasi all'infinito.

Il server MySQL è gratuito per uso non commerciale. Altrimenti è necessario acquistare una licenza, il cui costo attuale è di 190 euro.

Vari fork del codice sono stati creati dalla comunità di sviluppatori MySQL, come Drizzle, OurDelta, Percona Server e MariaDB. Tutte queste filiali esistevano già al momento dell'acquisizione di Sun da parte di Oracle.

L'emergere di MySQL

Prima del 1994, il mercato era costituito principalmente da database progettati per gestire grandi volumi di dati e relazioni complesse, che avevano varie capacità, ma allo stesso tempo richiedevano notevoli risorse di calcolo. Questi database includono Oracle, Informix e Sybase. Non esistevano DBMS che supportassero SQL e fossero allo stesso tempo convenienti.

Le grandi aziende e le università potevano permettersi di acquistare potenti sistemi informatici, mentre le organizzazioni e gli utenti più piccoli utilizzavano database desktop deboli come Postgres, che utilizzava una variante del linguaggio QUEL (PostQUEL), ma che, sfortunatamente, richiedeva le stesse risorse i suoi analoghi, ma non ha fornito un vantaggio utilizzando SQL come linguaggio di interrogazione.

Quindi un certo David Hughes (che in seguito divenne noto come Bamby, dopo aver pubblicato il suo lavoro su Internet), che all'epoca stava scrivendo una tesi alla Bond University (Australia), iniziò a sviluppare il progetto Minerva Network Management System: un sistema di monitoraggio e controllo sistema da uno o più punti su un gruppo di sistemi. L'elemento principale del progetto doveva essere un database per archiviare informazioni su tutti i computer della rete. Hughes ha deciso per primo di utilizzare Postgres. Tuttavia, i colleghi hanno suggerito di utilizzare SQL come linguaggio di query per Minerva, poiché SQL è il linguaggio di query più comune e, utilizzandolo, Minerva potrebbe diventare disponibile ovunque sul pianeta dove sia presente un RDBMS che supporti SQL. Questo è stato l'impulso per la creazione di MySQL.

Hughes ha deciso di creare lui stesso un programma che traducesse SQL in PostQUEL in tempo reale. Chiamò il suo programma miniSQL o mSQL. Ha intercettato le istruzioni SQL inviate da Minerva, le ha convertite in PostQUEL e ha inviato il risultato a Postgres. Per qualche tempo questa situazione si è adattata a Hughes. Tuttavia, come risultato dell'ulteriore crescita di Minerva, è diventato ovvio che, con le limitate risorse a sua disposizione, né Postgres né qualsiasi altro grande RDBMS sarebbe stato in grado di supportare il piccolo insieme di caratteristiche di cui ha bisogno. Ad esempio, per implementare la possibilità di connettere simultaneamente Minerva a più database contemporaneamente, Postgres ha richiesto l'avvio simultaneo di più istanze del server del database.

Per risolvere questi problemi, Hughes analizzò il lavoro di Minerva e scoprì che le principali query generate da Minerva erano: “inserisci”, “elimina” e “seleziona”. Poiché Hughes disponeva già di mSQL per la traduzione SQL, aveva solo bisogno di creare un server database adatto alle sue esigenze.

Ed è qui che entra in gioco Michael Monty Widenius, considerato l'inventore di MySQL. Nel 1979 sviluppò uno strumento di gestione di database chiamato UNIREG. UNIREG è stato successivamente ampliato per supportare database più grandi ed è stato riscritto in diverse lingue. Nel 1994, TcX ha iniziato a sviluppare applicazioni www utilizzando UNIREG. Tuttavia, a causa dell'elevato sovraccarico, UNIREG non può essere utilizzato con successo per generare dinamicamente pagine Web. Pertanto, Widenius ha deciso di contattare l'autore di mSQL, Hughes, per suggerirgli di connettere mSQL al gestore B+ ISAM in UNIREG. Tuttavia, Hughes fece buoni progressi nel percorso verso mSQL 2 e l'azienda decise di creare un server database adatto alle sue esigenze.

TcX ha preso UNIREG come base e ha utilizzato utilità di terze parti per mSQL, ha scritto un'API per il proprio sistema, che inizialmente era molto simile all'API per mSQL. Tuttavia, ciò ha consentito a qualsiasi utente mSQL che desiderasse migrare al server del database TcX di apportare piccole modifiche al proprio codice. Il codice sorgente del nuovo database era completamente originale. Così, nel maggio 1995, l'azienda disponeva di un database MySQL 1.0 che soddisfaceva pienamente le esigenze dell'azienda.

Nel 1995, David Oxmark, che lavora per Detron HB ed è un partner commerciale dell'azienda, ha iniziato a invitare attivamente TcX a distribuire il DBMS MySQL via Internet. David ha anche preso parte al lavoro sulla documentazione. Di conseguenza, la versione 3.11.1 del DBMS MySQL è stata rilasciata nel 1996 come distribuzione binaria per l'esecuzione di Linux e Solaris. Oggi MySQL funziona su molte piattaforme ed è disponibile sia in versione binaria che sorgente.

Oggi MySQL è diventato lo strumento più popolare per lavorare con i database in PHP. Ciò è dovuto principalmente al fatto che il supporto per questo server è incluso nella distribuzione PHP. Inoltre, la popolarità di MySQL ha contribuito notevolmente buone caratteristiche e un'ampia gamma di funzioni di interfaccia standard estremamente facili da usare.

La politica di licenza di MySQL è più flessibile rispetto ad altri server di database. Essenzialmente, MySQL è gratuito a meno che tu non intenda venderlo o vendere servizi realizzati con esso.

MySQL è altamente portabile e può essere utilizzato altrettanto bene su sistemi operativi commerciali come Solaris, Irix o Windows e su qualsiasi hardware fino ai server più potenti. Inoltre, come i suoi rivali più costosi, può gestire grandi database contenenti milioni di record.

Nome e logo

Per quanto riguarda il nome, esistono diverse versioni sulla sua origine. La prima versione dice che l'uso del prefisso “mio” è spiegato dal fatto che in TcX il catalogo di base, così come un numero significativo di biblioteche e servizi, sono stati designati con tale prefisso per dieci anni. Pertanto, era logico utilizzarlo in questo caso.

La seconda versione, più sentimentale, si basa sul fatto che Michael Monty Widenius ha chiamato il nuovo prodotto MySQL con il nome di sua figlia: My. Il nome della figlia di Videnio è infatti Mio, ed egli stesso non confuta né la prima né la seconda versione.

Il logo del delfino di MySQL si chiama "Sakila". È stato scelto da un ampio elenco di "nomi di delfini" suggeriti dagli utenti. Il nome "Sakila" è stato presentato dallo sviluppatore Open Source Ambrose Twebaze.

Funzionalità di MySQL

La caratteristica principale di MySQL è che supporta il linguaggio query SQL nello standard ANSI 92 e inoltre presenta molte estensioni di questo standard che non si trovano in nessun altro sistema di gestione di database.
Un breve elenco delle funzionalità di MySQL:

1. È supportato il funzionamento efficace di un numero illimitato di utenti che lavorano simultaneamente con il database.

2. Il numero di righe nelle tabelle può raggiungere i 50 milioni.

3. L'esecuzione dei comandi più rapida possibile. Si ritiene che MySQL sia il server più veloce esistente.

4. Sistema di sicurezza semplice ed efficace.

Grafico di esempio in MySQL


Svantaggi di MySQL

Tuttavia, MySQL presenta anche alcuni svantaggi. Ciò è dovuto principalmente al fatto che per raggiungere una velocità così elevata, gli sviluppatori hanno dovuto sacrificare alcuni requisiti per i sistemi di gestione dei database relazionali.

Quindi, manca MySQL:

1 . Supporto per query nidificate come SELECT * FROM table1 WHERE id IN (SELECT id FROM table2) (nelle versioni precedenti).

2. Il supporto per le transazioni non è implementato. Si propone invece di utilizzare LOCK/UNLOCK TABLE.

3. Non c'è supporto per le chiavi esterne.

4 . Non è disponibile alcun supporto per trigger e procedure memorizzate.

5 . Nessun supporto per le visualizzazioni (VIEW). Nella versione 3.23 è prevista la possibilità di creare visualizzazioni.

Secondo i creatori, sono stati i punti 2-4 a consentire di ottenere prestazioni elevate. La loro implementazione riduce significativamente la velocità del server. Queste funzionalità non sono fondamentali durante la creazione di applicazioni Web che, combinate con prestazioni elevate e prezzo basso, hanno permesso al server di diventare molto popolare.

Licenza

MySQL ha doppia licenza. MySQL può essere distribuito secondo i termini della GPL. Tuttavia, secondo i termini della GPL, se un programma include codici sorgente MySQL, quindi dovrebbe essere distribuito anche sotto licenza GPL. Ciò potrebbe essere in contrasto con i piani degli sviluppatori che non vogliono rendere open source i propri programmi. Per questi casi viene fornita una licenza commerciale, che fornisce anche un servizio di supporto di alta qualità.

Piattaforme

MySQL portato su un gran numero di piattaforme: 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, WindowsServer 2003, WinCE, Windows Vista e Windows 7. C'è anche un port MySQL su OpenVMS. È importante notare che sul sito Web ufficiale del DBMS non vengono forniti solo i codici sorgente per il download gratuito, ma anche i moduli eseguibili MySQL DBMS già pronti, compilati e ottimizzati per sistemi operativi specifici.

Linguaggi di programmazione

MySQL dispone di un'API per Delphi, C, C++, Eiffel, Java, Lisp, Perl, PHP, Python, Ruby, Smalltalk, Component Pascal e Tcl, librerie per i linguaggi della piattaforma .NET e fornisce anche supporto per ODBC tramite il driver ODBC MyODBC.

Cronologia delle versioni

Il primo rilascio interno di MySQL ha avuto luogo il 23 maggio 1995 [fonte non specificata 1224 giorni].
La versione per i sistemi Windows (Windows 95 e NT) è stata rilasciata l'8 gennaio 1998.
Versione 3.23: versione beta nel giugno 2000, rilascio nel gennaio 2001.
Versione 4.0: beta nell'agosto 2002, rilascio nel marzo 2003.
Versione 4.1: beta nel giugno 2004, rilascio nell'ottobre 2004.
Versione 5.0: beta nel marzo 2005, rilascio nell'ottobre 2005.
Versione 5.1: lo sviluppo è iniziato nel novembre 2005, rilascio nel novembre 2008.
Versione 5.4: beta nell'aprile 2009, non è stata rilasciata.
Versione 5.5: rilascio dicembre 2010.
Versione 5.6: in sviluppo (5.6.6 m9 7 agosto 2012).

Cronologia delle versioni



MySQL 4.0

Sebbene la versione 4.0 sia obsoleta, ha ancora un’adozione significativa. Caratteristiche principali di questa versione:

Implementazione quasi completa di ANSI SQL-99, più estensioni;
compatibilità multipiattaforma;
tipi di tabelle indipendenti (MyISAM per la lettura veloce, InnoDB per le transazioni e integrità referenziale);
transazioni;
supporto SSL;
richiedere la memorizzazione nella cache;
replica: un server principale per schiavo, molti schiavi per una testa;
indicizzazione e ricerca full-text utilizzando il tipo di tabella MyISAM;
libreria di database implementata;
Supporto Unicode (UTF-8);
Tabelle InnoDB conformi ad ACID;
un server incorporato che consente di includere MySQL in applicazioni autonome.

Query nidificate e tabelle derivate.
nuovo sistema codifiche e ordinamenti;
un protocollo client-server più veloce e flessibile con supporto per query preparate, garantendone l'esecuzione ottimale;
nuovo programma installazioni e impostazioni per Microsoft Windows e Linux;
connessioni client-server protette tramite OpenSSL;
libreria altamente ottimizzata che può essere utilizzata in programmi di terze parti;
supporto Unicode completo (UTF-8 e UCS2);
tipi di dati spaziali GIS standard per la memorizzazione di informazioni geografiche;
sistema di ricerca e guida a testo completo migliorato.

MySQL 5.0

La versione MySQL 5.0 è stata rilasciata il 24 ottobre 2005, questa versione ha funzionalità notevolmente ampliate che pongono MySQL alla pari con i DBMS commerciali. Se in precedenza il DBMS MySQL era stato accusato di supporto insufficiente per lo standard SQL, con l'avvento della quinta versione di questo popolare database è apparso un supporto quasi completo per lo standard SQL. MySQL 5.0 contiene le seguenti innovazioni:
procedure e funzioni memorizzate;
gestori di errori;
cursori;
trigger;
rappresentazione;
diagramma delle informazioni(il cosiddetto dizionario di sistema contenente metadati).

MySQL 5.1

MySQL 5.1 continua il percorso verso lo standard SQL:2003. MySQL 5.1 contiene le seguenti innovazioni:

Il partizionamento è la capacità di dividere una tabella di grandi dimensioni in più parti posizionate su file system diversi, in base a una funzione definita dall'utente. In determinate condizioni, ciò può fornire un aumento significativo delle prestazioni e, inoltre, semplificare la scalabilità delle tabelle.
Il comportamento di alcuni operatori è stato modificato per garantire una maggiore compatibilità con lo standard SQL2003.
Replica basata su righe, in cui nel log binario verranno scritte solo le informazioni sulle righe della tabella effettivamente modificate anziché il testo della query originale (e possibilmente lento). La replica delle righe può essere utilizzata solo per determinati tipi di query SQL, in termini MySQL: replica mista.
Pianificatore integrato dei lavori lanciati periodicamente. In termini di sintassi, aggiungere un'attività è simile all'aggiunta di un trigger a una tabella, in termini ideologici è simile a crontab.
Set aggiuntivo di funzioni per l'elaborazione XML, implementazione del supporto XPath.
Nuove utilità di diagnostica dei problemi e di analisi delle prestazioni. Le funzionalità per la gestione del contenuto dei file di log sono state ampliate; i log possono ora essere salvati nelle tabelle general_log e slow_log. L'utilità mysqlslap consente di eseguire test di carico del database e registrare il tempo di risposta per ciascuna richiesta.
Per semplificare l'operazione di aggiornamento è stata predisposta l'utility mysql_upgrade che verificherà la compatibilità di tutte le tabelle esistenti con nuova versione e, se necessario, apporterà le opportune modifiche.
MySQL Cluster è ora rilasciato come prodotto separato basato su MySQL 5.1 e storage NDBCLUSTER.
Cambiamenti significativi nel MySQL funziona Cluster, come, ad esempio, la possibilità di archiviare dati tabulari su disco.
Ripristinare l'utilizzo della libreria libmysqld integrata, che mancava in MySQL 5.0.
Un'API per plugin che consente di caricare moduli di terze parti che estendono funzionalità (come la ricerca full-text) senza riavviare il server.
Implementazione di un parser di ricerca full-text come plug-in.
Nuovo tipo di tavolo Maria (clone resistente agli urti di MyISAM).

Tipologia tavolo Maria

Maria (a partire dalla versione 5.2.x - Aria) - una versione ampliata dello storage MyISAM, con l'aggiunta di strumenti per mantenere l'integrità dei dati dopo un crash.
Principali vantaggi di Maria:

In caso di arresto anomalo, i risultati dell'operazione corrente vengono ripristinati o riportati allo stato precedente al comando LOCK TABLES. Implementazione tramite operazioni di logging.
Possibilità di ripristinare lo stato da qualsiasi punto nel registro delle operazioni, incluso il supporto per CREATE/DROP/RENAME/TRUNCATE. Può essere utilizzato per creare incrementali copie di backup, mediante copia periodica del log delle transazioni.
Il supporto per tutti i formati di colonne MyISAM è stato ampliato con un nuovo formato "righe in blocco" che utilizza un metodo di archiviazione dei dati basato su pagina in cui i dati nelle colonne possono essere memorizzati nella cache.
In futuro verranno implementate due modalità: transazionale e senza riflessione nel log delle transazioni, per i dati non critici.
La dimensione della pagina dati è 8 KB (in MyISAM 1 KB), che consente prestazioni più elevate per indicizzazioni su campi a dimensione fissa, ma più lente nel caso di indicizzazione di chiavi a lunghezza variabile.

MySQL 5.5

Il ramo MySQL 5.5 si basa sulla serie MySQL 5.4 inedita e contiene una serie di miglioramenti significativi relativi all'aumento di scalabilità e prestazioni, tra cui:
Utilizzo del motore InnoDB per impostazione predefinita.
Supporto per un meccanismo di replica semi-sincrona basato su patch per InnoDB di Google.
Funzionalità di partizionamento dei dati migliorata. Sintassi avanzata per suddividere tabelle di grandi dimensioni in più parti posizionate su file system (partizionamento). Aggiunte operazioni RANGE, LIST e il metodo di ottimizzazione “partition pruning”.
Un nuovo meccanismo per ottimizzare le query annidate e le operazioni JOIN.
Il sistema di chiusura interno è stato ridisegnato.
Sono state integrate le patch di Google per ottimizzare il funzionamento di InnoDB sui processori con grande quantità nuclei.

MySQL 6.0

La versione MySQL 6.0 è stata congelata nella fase di test alpha. Inizialmente si decise di creare la versione 5.2, ma questa versione fu presto ribattezzata 6.0. Tuttavia, le informazioni successive su MySQL 6.0 sono scomparse dal sito e gli sviluppatori si sono concentrati sulla versione 5.5 e sulla successiva versione 5.6.
Una delle principali innovazioni della versione 6.0 doveva essere un nuovo tipo di tabella Falcon, sviluppata come potenziale sostituto di InnoDB da Innobase, acquisita da Oracle. In connessione con l'acquisizione di Sun Microsystems da parte della stessa Oracle nel 2010, il destino di Falcon rimane in discussione.

Specifiche

La dimensione massima della tabella in MySQL 3.22 arriva fino a 4 GB, nelle versioni successive taglia massima fino a 8 milioni di TB (263 byte).
La dimensione di una tabella è limitata dal suo tipo. In generale, il tipo MyISAM è limitato da un limite di dimensione del file pari a file system sistema operativo. Ad esempio, in NTFS questa dimensione può teoricamente arrivare fino a 32 exabyte. Nel caso di InnoDB, una tabella può essere archiviata in più file che rappresentano un singolo tablespace. La dimensione di quest'ultimo può raggiungere i 64 terabyte.

A differenza di MyISAM, InnoDB ha un limite significativo al numero di colonne che possono essere aggiunte a una singola tabella. La dimensione predefinita della pagina di memoria è 16 kilobyte, di cui 8123 byte allocati per i dati. La dimensione di un puntatore ai campi dinamici è 20 byte. Pertanto, quando si utilizza il formato di riga dinamico (ROW_FORMAT=DYNAMIC), una tabella può contenere un massimo di 409 colonne BLOB o di testo.

A partire dalla versione 4.1 è stato introdotto nel DBMS MySQL un nuovo sistema di codifica e ordinamento. Quando si utilizza la codifica Windows-1251, prima di eseguire le istruzioni SQL, è necessario configurare la codifica della connessione utilizzando gli operatori:

SET carattere_set_client="cp1251";
IMPOSTA carattere_set_results="cp1251";
IMPOSTA carattere_set_connessione="cp1251";

Queste tre affermazioni equivalgono a richiamare un'istruzione:

IMPOSTA NOMI "cp1251"

La variabile Character_set_client imposta la codifica dei dati inviati dal client, la variabile Character_set_results imposta la codifica dei dati inviati al client, la variabile Character_set_connection imposta la codifica in cui vengono convertite le informazioni ricevute dal client prima di eseguire la richiesta sul server.

Quando si utilizza Unicode UTF-8, questa istruzione assomiglia a questa:
IMPOSTA NOMI "utf8"

La codifica ISO 8859-5 non è supportata.