MySQL kan beskrives som et databasestyringssystem (åpen kildekode), vanligvis installert som en del av den berømte LAMPE (Linux, Apache, MySQL, Perl/PHP/Python) stack. Den bruker Structured Query Language (forkortelse for SQL) og driver relasjonsmodellen for å administrere dataene sine.
Det er den mest gjenkjennelige teknologien i det nyeste økosystemet av big data. Ofte kjent som den mest kjente databasen og for tiden effektiv og utbredt bruk uavhengig av produksjon. Det er gjennomsiktig at alle som er involvert i generelle IT- eller bedriftsdata i det minste bør sikte på en felles MySQL-kjennskap.
Alle som er nye eller ukjente med relasjonssystemer kan bygge kraftige, sikre og raske datalagringssystemer med MySQL . De programmatiske grensesnittene og syntaksen til MySQL er også ideelle inngangsporter til den enorme verdenen av andre kjente strukturerte datalagre og spørringsspråk.
Oversikt over MySQL
MySQL er skrevet inn C++ og C . SQL-parseren til MySQL er skrevet inn yacc , men det bruker en hjemmebrygget leksikalsk analysator. MySQL implementerer på ulike systemplattformer, inkludert 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 og AIX. En MySQL-port til OpenVMS er også tilgjengelig.
Selve klientbibliotekene og serverprogramvaren til MySQL bruker distribusjonen av dobbel lisensiering. De leveres under den andre versjonen av GPL eller en proprietær lisens. Støtte kan mottas med den offisielle manualen. I tillegg er gratis støtte tilgjengelig i distinkte IRC-former og kanaler. Oracle forenkler betalt støtte av sin MySQL Enterprise produkter . De er også forskjellige i tjenestens omfang og pris. Tredjepartsorganisasjoner finnes i tillegg for å tilby tjenester og støtte.
MySQL har fått forskjellige positive anmeldelser, og disse anmelderne la merke til at det 'implementeres ekstremt godt innenfor gjennomsnittssaken' og at 'utviklergrensesnittene er der, og dokumentasjon'. Den har også blitt inspisert for å være en ekte flerbruker, stabil og rask flertråds databaseserver for SQL.
Spesifikasjoner for MySQL
MySQL er relasjonell
Hovedfaktoren er å differensiere relasjonsdatabaser gjennom andre digitale lagringsområder i hvordan data administreres på et høyt nivå. Mange databaser som MySQL inkluderer poster i svært kodifiserte, separate og flere tabeller, i motsetning til en altomfattende samling eller depoter av ustrukturerte eller semistrukturerte dokumenter.
- Det tillater relasjonsdatabasesystemer å bedre utnytte handlinger som oppdatering av informasjon, datainnhenting eller mer kompliserte handlinger som aggregering.
- En logisk modell spesifiseres over hvert innhold i databasen, og spesifiserer for eksempel verdiene som er tillatt i en enkelt kolonne, karakteristika for visninger og tabeller, eller hvordan indekser er assosiert fra to forskjellige tabeller.
- Flere relasjonsmodeller er kjent av ulike grunner.
- De oppmuntrer brukere med deklarative og intuitive programmeringsspråk, og instruerer i hovedsak databasen hvilket resultat som er ønsket på språket.
- Den flytter arbeidet inn i SQL- og RDBMS-motorene for bedre å lagre og håndheve logiske regler for verdifull arbeidskraft og ressurser.
Åpen kilde
Enhver bedrift eller enkeltperson kan fritt utvide, publisere, modifisere og bruke åpen kildekode MySQL-kodebasen til Oracle. Programvaren er publisert på GNU GPL (General Public License) .
- For MySQL-kode som krever å være inkludert eller integrert i en kommersiell applikasjon (eller når åpen kildekode-programvare ikke er en prioritet), kan mange bedrifter kjøpe en kommersielt lisensiert utgivelse fra Oracle.
- Disse alternativene gir bedrifter ekstra fleksibilitet hvis de bestemmer seg for å implementere med MySQL .
- Fellesskapet og den offentlig baserte naturen til åpen kildekode-versjoner beriker den elektroniske støtte- og dokumentasjonskulturen til MySQL, samtidig som den sikrer at nyutviklede eller vedvarende funksjoner aldri avviker for langt fra brukerkravene.
MySQL er kompatibel
MySQL ble utviklet for å være kompatibel med andre arkitekturer og teknologier, men ofte samarbeidet med webtjenester eller internettapplikasjoner. Relasjonsdatabasestyringssystemet kjører på alle større datamiljøer, inkludert et Unix-basert OS, som utallige Linux-distros, Windows , og Mac os .
De klient-server-arkitektur av MySQL spesifiserer at den også kan støtte en rekke backends og forskjellige grensesnitt for programmering. Data kan migreres med MySQL til gaflene ( MariaDB ) og de fleste andre relasjonsdatabaseadministrasjonssystemer også på grunn av språklige og arkitektoniske likheter.
- Etablert tredjeparts migrering og Oracle-verktøy tillater MySQL å flytte data til og gjennom en enorm samling av vanlige lagringssystemer, men disse er utviklet for å være skybaserte eller lokale.
- MySQL kan brukes i sentraliserte eller distribuerte, virtualiserte miljøer, og er til og med tilgjengelig som biblioteker for å lære små, testende formålsapplikasjoner.
- Den brede kompatibiliteten til MySQL med all annen programvare og system gjør det spesielt til det praktiske utvalget av relasjonsdatabaseadministrasjonssystemer i de fleste tilfeller.
Lett å bruke
Tabellparadigmet er kanskje det mest intuitive og tillater større brukervennlighet, selv om den relasjonelle naturen til MySQL og de stive lagringsstrukturene kan virke begrensende. Faktisk, MySQL gir flere anerkjennelser for å støtte det enorme mulige utvalget av datastrukturer, gjennom standard, men rike tidstyper, dato, alfanumerisk, numerisk og logisk til mer avanserte geospatiale eller JSON-data.
- Utover en kostbar innebygd funksjonsinnsamling og enkle datatyper, inneholder økosystemet til MySQL også en rekke verktøy som letter alt fra serveradministrasjon til dataanalyse og rapportering.
- Uavhengig av den overordnede arkitekturen til et relasjonsdatabasestyringssystem, kan brukere finne et MySQL-aspekt som tillater dem å kodifisere og modellere data slik de vil.
- MySQL er fortsatt den enkleste databaseteknologien å bruke og lære.
Funksjoner i MySQL
MySQL er gitt under to distinkte utgaver: den proprietær Enterprise Server og åpen kildekode MySQL Community Server. MySQL Enterprise Server er atskilt av en proprietær utvidelsesserie som installeres som serverplugins, men den distribuerer nummereringssystemet til versjonen og er utviklet ved hjelp av en lignende kodebase.
Noen hovedfunksjoner i 5.6-versjonen av MySQL er forklart nedenfor:
- Støtte på tvers av plattformer
- An ANSI SQL 99 bred undergruppe og utvidelser også.
- Lagrede prosedyrer med prosedyrespråkene som nesten overholder PSM/SQL.
- Oppdaterbare visninger
- Pekere
- Utløsere
- Informasjonsskjema
- på nett Datadefinisjonsspråk (kort for DDL ) hvis du bruker InnoDB Lagringsmotor.
- Ytelsesskjema som setter sammen og kombinerer statistikk om søkeytelse og serverutførelse for å overvåke formål.
- En gruppe av SQL-modusalternativer for å kontrollere kjøretidsatferd, for eksempel en streng modus for å overholde SQL-standardene.
- Lagre poeng med transaksjoner hvis du bruker InnoDB Storage Engine (standard). NDB Cluster Storage Engine støtter også transaksjoner.
- Spørringsbufring
- SSL-støtte
- Undervalg (f.eks. nestede SELECT-er )
- Innebygd støtte for replikering
Virtuell synkron: MySQL-serverens selvadministrerte grupper med multi-master-støtte kan implementeres ved å bruke den innebygde plugin-en til Group Replication eller Bysseklynge .
Begrensninger for MySQL
Når du bruker noen få andre lagringsmotorer enn InnoDB (standard) , så samsvarer ikke MySQL med den komplette SQL-standarden for noen få av de implementerte funksjonalitetene, for eksempel referanser til fremmednøkkel. Kontrollbegrensninger kan også analyseres, men unngås av hver lagringsmotor før 8.0.15-versjonen av MySQL.
Triggere er begrenset til én enkelt per timing/handling frem til 5.7-versjonen av MySQL, noe som betyr at maksimalt en enkelt trigger kan spesifiseres for å kjøres etter en operasjon, dvs. SETT INN , og en singel før SETT INN på et lignende bord. Ingen utløsere kunne spesifiseres på visninger.
Den 19. januar 2038 ble de innebygde funksjonene i MySQL-databasen som f.eks UNIX_TIMESTAMP returner 0 etter 03:14:07 UTC . Det hadde nylig vært et forsøk på å løse problemet som var oppnevnt til den interne køen.
Implementering av MySQL
MySQL kan installeres og bygges manuelt ved hjelp av kildekode, men det er mer grunnleggende installert ved hjelp av en binær pakke med mindre unike tilpasninger er nødvendig. Pakkeadministrasjonssystemet kan hente og installere MySQL med minimal innsats, ytterligere konfigurasjoner er ofte nødvendig for å justere optimaliserings- og sikkerhetsinnstillingene på de fleste Linux-distribusjoner.
Søknad med høy tilgjengelighet
Oracle MySQL gir applikasjoner med høy tilgjengelighet med en blanding av verktøy inkludert MySQL-skall og MySQL-ruter . De er basert på åpen kildekode-verktøy og gruppereplikering. MariaDB gir samme tilbud i motsetning til produkter.
Hvordan starte MySQL-serveren på nytt?
Vi kan bruke kommandoen, dvs. ' service' for å utføre vanlige operasjoner som start, stopp og omstart av MySQL-server i Ubuntu. Først må vi logge inn på webserveren vår og skrive inn en av følgende kommandoer.
Vi kan skrive inn kommandoen nedenfor for å starte MySQL-serveren i Ubuntu:
$ sudo systemctl start mysql.service $ sudo systemctl status mysql.service
Vi kan skrive inn kommandoen nedenfor for å stoppe MySQL-serveren i Ubuntu:
$ sudo systemctl stop mysql.service $ sudo systemctl status mysql.service
Vi kan skrive inn kommandoen nedenfor for å starte MySQL-serveren på nytt i Ubuntu:
$ sudo systemctl restart mysql.service
Vi kan skrive inn kommandoen nedenfor for å sjekke status MySQL-serveren i Ubuntu (enten den kjører eller ikke):
$ sudo systemctl status mysql.service