MySQL kan beskrivas som ett databashanteringssystem (öppen källkod), vanligtvis installerat som en del av den berömda LAMPA (Linux, Apache, MySQL, Perl/PHP/Python) stack. Den tillämpar Structured Query Language (förkortning av SQL) och driver relationsmodellen för att hantera sina data.
Det är den mest igenkännliga tekniken i det senaste ekosystemet av big data. Ofta känd som den mest kända databasen och för närvarande effektiv och utbredd användning oavsett produktion. Det är transparent att alla som är involverade i allmän IT- eller företagsdata åtminstone bör sikta på en gemensam MySQL-förtrogenhet.
Alla som är nya eller obekanta med relationssystem kan bygga kraftfulla, säkra och snabba datalagringssystem med MySQL . De programmatiska gränssnitten och syntaxen för MySQL är också idealiska ingångar till den enorma världen av andra kända strukturerade databutiker och frågespråk.
Översikt över MySQL
MySQL är skrivet i C++ och C . SQL-parsern för MySQL är skriven i yacc , dock tillämpas en hembryggd lexikalanalysator. MySQL implementerar på olika systemplattformar, inklusive Tru64, Sanos, SCO UnixWare, SCO OpenServer, SunOS, Symbian, Oracle Solaris, QNX, OS/2 Warp, OpenSolaris, OpenBSD, Novell NetWare, NetBSD, Microsoft Windows, macOS, Linux, IRIX, IBM i, eComStation, ArcaOS, HP-UX, FreeBSD, BSDi och AIX. Dessutom finns en MySQL-port till OpenVMS tillgänglig.
Själva klientbiblioteken och servermjukvaran i MySQL använder distributionen av dubbla licenser. De tillhandahålls under den andra versionen av GPL eller en patentskyddad licens. Support kan erhållas med den officiella manualen. Dessutom finns gratis support tillgängligt i distinkta IRC-former och kanaler. Oracle underlättar betald support av sin MySQL Enterprise företagsprofil . De skiljer sig också åt i tjänsternas omfattning och pris. Tredjepartsorganisationer finns dessutom för att erbjuda tjänster och support.
MySQL har fått flera positiva recensioner och dessa granskare märkte att det 'implementerar extremt bra inom det genomsnittliga fallet' och att 'utvecklarens gränssnitt finns där, och dokumentation'. Den har också inspekterats för att vara en sann fleranvändare, stabil och snabb flertrådad databasserver för SQL.
Specifikationer för MySQL
MySQL är relationell
Huvudfaktorn är att differentiera relationsdatabaser genom andra digitala lagringsområden i hur data hanteras på en hög nivå. Många databaser som MySQL innehåller poster i mycket kodifierade, separata och flera tabeller, i motsats till en heltäckande samling eller arkiv av ostrukturerade eller semistrukturerade dokument.
- Det tillåter relationsdatabassystem att bättre utnyttja åtgärder som uppdatering av information, datahämtning eller mer komplicerade åtgärder som aggregering.
- En logisk modell specificeras över varje innehåll i databasen, som specificerar till exempel de värden som är tillåtna i en kolumn, egenskaper hos vyer och tabeller, eller hur index associeras från två olika tabeller.
- Flera relationsmodeller är kända av olika anledningar.
- De uppmuntrar användare med deklarativa och intuitiva programmeringsspråk, i huvudsak instruerar databasen vilket resultat som önskas i språket.
- Det flyttar arbetet till SQL- och RDBMS-motorerna för att bättre spara och upprätthålla logiska regler för värdefull arbetskraft och resurser.
Öppen källa
Alla företag eller individer kan fritt expandera, publicera, modifiera och använda MySQL-kodbasen med öppen källkod för Oracle. Programvaran publiceras på GNU GPL (General Public License) .
- För MySQL-kod som måste inkluderas eller integreras i en kommersiell applikation (eller när programvara med öppen källkod inte är en prioritet), kan många företag köpa en kommersiellt licensierad version från Oracle.
- Dessa alternativ erbjuder företag extra flexibilitet om de bestämmer sig för att implementera med MySQL .
- Gemenskapen och den offentliga karaktären hos versioner med öppen källkod berikar onlinesupport- och dokumentationskulturen för MySQL, samtidigt som den säkerställer att nyutvecklade eller bibehållna funktioner aldrig avviker alltför långt från användarkraven.
MySQL är kompatibel
MySQL utvecklades för att vara kompatibel med andra arkitekturer och teknologier men samarbetade ofta med webbtjänster eller internetapplikationer. Det relationella databashanteringssystemet körs på alla större datormiljöer, inklusive ett Unix-baserat operativsystem, som otaliga Linux-distros, Windows , och Mac OS .
De klient-server-arkitektur av MySQL anger att den också kan stödja en rad backends och olika programmeringsgränssnitt. Data kan migreras med MySQL till dess gafflar ( MariaDB ) och de flesta andra relationsdatabashanteringssystem också på grund av språkliga och arkitektoniska likheter.
- Etablerad tredjepartsmigrering och Oracle-verktyg tillåter vidare MySQL för att flytta data till och genom en enorm samling vanliga lagringssystem, men dessa är utvecklade för att vara molnbaserade eller lokalt.
- MySQL kan användas i centraliserade eller distribuerade, virtualiserade miljöer och är till och med tillgängligt som bibliotek för att lära sig små testapplikationer.
- MySQL:s breda kompatibilitet med alla andra programvaror och system gör det i de flesta fall specifikt till det praktiska urvalet av relationsdatabashanteringssystem.
Lätt att använda
Bordsparadigmet är kanske det mest intuitiva och tillåter större användbarhet, även om den relationella karaktären hos MySQL och de stela lagringsstrukturerna kan verka restriktiva. Faktiskt, MySQL gör flera bekräftelser för att stödja det enorma möjliga utbudet av datastrukturer, genom standard men rika tidstyper, datum, alfanumeriska, numeriska och logiska till mer avancerad geospatial eller JSON-data.
- Utöver en dyr inbyggd funktionsinsamling och enkla datatyper innehåller MySQL-ekosystemet också en rad verktyg som underlättar allt från serverhantering till dataanalys och rapportering.
- Oavsett den övergripande arkitekturen för ett relationsdatabashanteringssystem kan användare hitta en MySQL-aspekt som tillåter dem att kodifiera och modellera data hur de vill.
- MySQL är fortfarande den enklaste databastekniken att använda och lära sig.
Funktioner i MySQL
MySQL tillhandahålls under två distinkta utgåvor: den egen Enterprise Server och MySQL Community Server med öppen källkod. MySQL Enterprise Server skiljs åt av en egenutvecklad tilläggsserie som installeras som serverplugins, men den distribuerar versionens nummersystem och utvecklas med en liknande kodbas.
Några huvudfunktioner i 5.6-versionen av MySQL förklaras nedan:
- Stöd över plattformar
- En ANSI SQL 99 bred delmängd och tillägg också.
- Lagrade procedurer med de procedurspråk som nästan följer PSM/SQL.
- Uppdaterbara vyer
- Markörer
- Utlösare
- Informationsschema
- Uppkopplad Data Definition Language (Förkortning av DDL ) om du använder InnoDB Förvaringsmotor.
- Prestandaschema som sammanställer och kombinerar statistik om frågeprestanda och serverexekvering för att övervaka syften.
- En grupp av SQL-lägesalternativ för att kontrollera körningsbeteende, till exempel ett strikt läge för att följa standarderna för SQL.
- Spara poäng med transaktioner om du tillämpar InnoDB Storage Engine (standard). Dessutom stöder NDB Cluster Storage Engine transaktioner.
- Fråga cachning
- SSL-stöd
- Underval (t.ex. kapslade SELECT )
- Inbyggt stöd för replikering
Virtuell synkron: MySQL-serverns självhanterade grupper med stöd för flera master kan implementeras med hjälp av det inbyggda insticksprogrammet för Group Replication eller Galärkluster .
Begränsningar för MySQL
När du använder några andra lagringsmotorer än InnoDB (standard) , så överensstämmer inte MySQL med den kompletta SQL-standarden för några av de implementerade funktionerna, såsom referenser för främmande nyckel. Dessutom kan kontrollbegränsningar analyseras men undvikas av varje lagringsmotor före 8.0.15-versionen av MySQL.
Utlösare är begränsade till en enda per timing/åtgärd fram till 5.7-versionen av MySQL, vilket innebär att som mest en enskild utlösare kan specificeras för att köras efter en operation, dvs. FÖRA IN , och en singel innan FÖRA IN på ett liknande bord. Inga utlösare kunde anges på visningar.
Den 19 januari 2038, de inbyggda funktionerna i MySQL-databasen som t.ex UNIX_TIMESTAMP returnera 0 efter 03:14:07 UTC . Det hade nyligen gjorts ett försök att lösa problemet som hade utsetts till den interna kön.
Implementering av MySQL
MySQL skulle kunna installeras och byggas manuellt med källkod, men det är mer i grunden installerat med ett binärt paket om inte unika anpassningar behövs. Pakethanteringssystemet kan hämta och installera MySQL med minimal ansträngning, ytterligare konfigurationer behövs ofta för att justera optimerings- och säkerhetsinställningarna på de flesta Linux-distributioner.
Applikation med hög tillgänglighet
Oracle MySQL tillhandahåller applikationer med hög tillgänglighet med en blandning av verktyg inklusive MySQL-skal och den MySQL-router . De är baserade på verktyg med öppen källkod och gruppreplikering. MariaDB ger samma erbjudande till skillnad från produkter.
Hur startar man om MySQL-servern?
Vi kan använda kommandot, dvs. service' för att utföra vanliga operationer som start, stopp och omstart av MySQL-server i Ubuntu. Först måste vi logga in på vår webbserver och ange ett av följande kommandon.
Vi kan ange kommandot nedan för att starta MySQL-servern i Ubuntu:
$ sudo systemctl start mysql.service $ sudo systemctl status mysql.service
Vi kan ange kommandot nedan för att stoppa MySQL-servern i Ubuntu:
$ sudo systemctl stop mysql.service $ sudo systemctl status mysql.service
Vi kan ange kommandot nedan för att starta om MySQL-servern i Ubuntu:
$ sudo systemctl restart mysql.service
Vi kan ange kommandot nedan för att kontrollera status MySQL-servern i Ubuntu (oavsett om den körs eller inte):
$ sudo systemctl status mysql.service