MySQL voidaan kuvata tietokannan hallintajärjestelmä (avoimen lähdekoodin), yleensä asennettu osaksi kuuluisaa LAMPPU (Linux, Apache, MySQL, Perl/PHP/Python) pino. Se käyttää Structured Query Language -kieltä (lyhenne sanoista SQL) ja käyttää relaatiomallia tietojensa hallintaan.
Se on uusimman big datan ekosysteemin tunnistetuin tekniikka. Tunnetaan usein tunnetuimpana tietokantana ja tällä hetkellä tehokas ja laajalti käytössä tuotannosta riippumatta. On läpinäkyvää, että kaikkien yleisten IT- tai yritystietojen kanssa tekemisissä olevien tulee pyrkiä vähintään yhteiseen MySQL-tuttuun.
Jokainen uusi tai tuntematon relaatiojärjestelmä voi rakentaa tehokkaita, turvallisia ja nopeita tallennusjärjestelmiä MySQL . Ohjelmalliset rajapinnat ja syntaksi MySQL ovat myös ihanteellisia yhdyskäytäviä muiden kuuluisien strukturoitujen tietovarastojen ja kyselykielten valtavaan maailmaan.
Yleiskatsaus MySQL:stä
MySQL on kirjoitettu sisään C++ ja C . MySQL:n SQL-jäsennin on kirjoitettu sisään yacc Se kuitenkin käyttää kotitekoista leksikaalista analysaattoria. MySQL toteutetaan eri järjestelmäalustoilla, mukaan lukien 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 ja AIX. Saatavilla on myös MySQL-portti OpenVMS:ään.
MySQL:n asiakaskirjastot ja palvelinohjelmistot itse käyttävät kaksoislisensoinnin jakelua. Ne tarjotaan GPL:n 2. version tai omalla lisenssillä. Tukea voi saada virallisella ohjekirjalla. Lisäksi ilmainen tuki on saatavilla eri IRC-muodoissa ja -kanavilla. Oracle mahdollistaa maksullisen tuen MySQL Enterprise -tuotteet . Ne eroavat myös palveluiden laajuudesta ja hinnasta. Kolmannen osapuolen organisaatioiden numero on lisäksi olemassa tarjotakseen palveluita ja tukea.
MySQL on saanut useita myönteisiä arvosteluja, ja nämä arvioijat huomasivat, että se 'toteutuu erittäin hyvin keskimääräisessä tapauksessa' ja että 'kehittäjien käyttöliittymät ovat olemassa ja dokumentaatio'. Lisäksi sen on tarkastettu olevan todellinen monen käyttäjän, vakaa ja nopea monisäikeinen SQL-tietokantapalvelin.
MySQL:n tekniset tiedot
MySQL on suhteellinen
Tärkein tekijä on relaatiotietokantojen erottaminen muista digitaalisista tallennusalueista, kun tietoja hallitaan korkealla tasolla. Monet tietokannat, kuten MySQL, sisältävät tietueita erittäin kodifioiduissa, erillisissä ja useissa taulukoissa, toisin kuin yksi kaiken kattava jäsentämättömien tai puolirakenteisten asiakirjojen kokoelma tai arkistot.
- Sen avulla relaatiotietokantajärjestelmät voivat hyödyntää paremmin toimintoja, kuten tietojen päivittämistä, tiedonhakua tai monimutkaisempia toimintoja, kuten aggregaatioita.
- Tietokannan jokaiselle sisällölle määritellään looginen malli, jossa määritellään esimerkiksi yhdessä sarakkeessa sallitut arvot, näkymien ja taulukoiden ominaisuudet tai kuinka indeksit yhdistetään kahdesta eri taulukosta.
- Useat relaatiomallit ovat kuuluisia eri syistä.
- Ne rohkaisevat käyttäjiä deklaratiivisilla ja intuitiivisilla ohjelmointikielillä, lähinnä ohjeistaen tietokantaa, mitä tuloksia kielellä halutaan.
- Se siirtää työn SQL- ja RDBMS-moottoreihin arvokkaan työvoiman ja resurssien loogisten sääntöjen säästämiseksi ja noudattamiseksi.
Avoin lähdekoodi
Kuka tahansa yritys tai henkilö voi vapaasti laajentaa, julkaista, muokata ja käyttää Oraclen avoimen lähdekoodin MySQL-koodipohjaa. Ohjelmisto on julkaistu GNU GPL (General Public License) .
- Jos MySQL-koodi on sisällytettävä tai integroitava kaupalliseen sovellukseen (tai kun avoimen lähdekoodin ohjelmistot eivät ole ensisijaisia), monet yritykset voivat ostaa kaupallisesti lisensoidun julkaisun Oraclelta.
- Nämä vaihtoehdot tarjoavat yrityksille ylimääräistä joustavuutta, jos ne päättävät ottaa käyttöön MySQL .
- Avoimen lähdekoodin versioiden yhteisöllinen ja julkinen luonne rikastuttaa MySQL:n online-tuki- ja dokumentointikulttuuria ja varmistaa samalla, että äskettäin kehitetyt tai jatkuvat ominaisuudet eivät koskaan poikkea liian kauas käyttäjien vaatimuksista.
MySQL on yhteensopiva
MySQL kehitettiin yhteensopivaksi muiden arkkitehtuurien ja teknologioiden kanssa, vaikkakin usein yhteistyötä verkkopalvelujen tai Internet-sovellusten kanssa. Relaatiotietokannan hallintajärjestelmä toimii kaikissa suurissa laskentaympäristöissä, mukaan lukien Unix-pohjainen käyttöjärjestelmä, kuten lukemattomia Linux-distroja, Windows , ja Mac käyttöjärjestelmä .
The asiakas-palvelin arkkitehtuuri / MySQL määrittää, että se voi tukea myös erilaisia taustaohjelmia ja erilaisia ohjelmointirajapintoja. Tiedot voidaan siirtää MySQL:llä sen haarukoille ( MariaDB ) ja useimmat muut relaatiotietokannan hallintajärjestelmät sekä kielen ja arkkitehtonisten yhtäläisyuksien vuoksi.
- Vakiintuneet kolmannen osapuolen siirto- ja Oracle-työkalut antavat MySQL:lle mahdollisuuden siirtää tietoja valtavaan kokoelmaan yleisiä tallennusjärjestelmiä ja niiden kautta, mutta ne on kuitenkin kehitetty pilvipohjaisiksi tai paikallisiksi.
- MySQL:ää voidaan käyttää keskitetyissä tai hajautetuissa virtualisoiduissa ympäristöissä, ja se on jopa saatavilla kirjastoina pienten testaussovellusten oppimiseen.
- MySQL:n laaja yhteensopivuus kaikkien muiden ohjelmistojen ja järjestelmien kanssa tekee siitä erityisesti käytännöllisen relaatiotietokannan hallintajärjestelmien valinnan useimmissa tapauksissa.
Helppokäyttöinen
Ehkä taulukkoparadigma on intuitiivisin ja mahdollistaa paremman käytettävyyden, vaikka sen suhteellinen luonne MySQL ja jäykät säilytysrakenteet voivat vaikuttaa rajoittavilta. Itse asiassa, MySQL antaa useita tunnustuksia tukeakseen valtavaa mahdollista valikoimaa tietorakenteita standardien mutta monipuolisten aikatyyppien, päivämäärän, aakkosnumeerisen, numeerisen ja loogisen edistyneempään geospatiaaliseen tai JSON-tietoon.
- Kalliin sisäänrakennetun ominaisuuksien keräämisen ja yksinkertaisten tietotyyppien lisäksi MySQL:n ekosysteemi sisältää myös valikoiman työkaluja, jotka helpottavat kaikkea palvelimen hallinnasta data-analyysiin ja raportointiin.
- Relaatiotietokannan hallintajärjestelmän kattavasta arkkitehtuurista riippumatta käyttäjät voivat löytää MySQL-näkökulman, jonka avulla he voivat koodata ja mallintaa tietoja haluamallaan tavalla.
- MySQL on edelleen yksinkertaisin käytettävä ja opittava tietokantatekniikka.
MySQL:n ominaisuudet
MySQL on saatavilla kahdessa erillisessä painoksessa: oma yrityspalvelin ja avoimen lähdekoodin MySQL Community Server. MySQL Enterprise Server on erotettu omalla laajennussarjalla, joka asennetaan kuten palvelinlaajennukset, mutta se jakaa version numerointijärjestelmän ja on kehitetty käyttämällä samanlaista koodikantaa.
Joitakin MySQL-version 5.6-version tärkeimpiä ominaisuuksia selitetään alla:
- Monialustainen tuki
- An ANSI SQL 99 myös laaja osajoukko ja laajennukset.
- Tallennetut proseduurit proseduurikielillä, jotka melkein noudattavat PSM/SQL:ää.
- Päivitettävät näkymät
- Kohdistimet
- Liipaisimet
- Tietoskeema
- verkossa Tietojen määrittelykieli (lyhenne jstk DDL ), jos sovelletaan InnoDB Varastointi Moottori.
- Suorituskykyskeema, joka kokoaa ja yhdistää tilastoja kyselyn suorituskyvystä ja palvelimen suorituskyvystä valvontatarkoituksiin.
- Joukko SQL-tilan vaihtoehtoja ajonaikaisen käyttäytymisen hallintaan, kuten tiukka tila SQL-standardien noudattamiseksi.
- Tallennapisteitä tapahtumilla, jos käytät InnoDB Storage Engine (oletus). Myös NDB Cluster Storage Engine tukee tapahtumia.
- Kyselyn välimuisti
- SSL-tuki
- Alavalinnat (esim. sisäkkäiset SELECT-kohteet )
- Sisäänrakennettu tuki replikaatiolle
Virtuaalinen synkroninen: MySQL-palvelimen itsehallitut ryhmät, joissa on usean isännän tuki, voidaan toteuttaa sisäänrakennetulla Group Replikoinnin tai Galley-klusteri .
MySQL:n rajoitukset
Käytettäessä muutamia muita säilytysmoottoreita kuin InnoDB (oletus) , silloin MySQL ei noudata täydellistä SQL-standardia muutamien toteutettujen toimintojen, kuten vieraiden avainten viittausten, osalta. Jokainen tallennuskone voi myös jäsentää tarkistusrajoituksia, mutta välttää ne ennen MySQL:n 8.0.15-versiota.
Triggerit on rajoitettu yhteen ajoitusta/toimintoa kohti MySQL:n 5.7-versioon saakka, mikä tarkoittaa, että korkeintaan yksi liipaisin voidaan määrittää suoritettavaksi toiminnon jälkeen, eli LISÄÄ , ja yksi ennen LISÄÄ samanlaisella pöydällä. Näkymille ei voitu määrittää laukaisimia.
19. tammikuuta 2038 MySQL-tietokannan sisäänrakennetut toiminnot, kuten UNIX_TIMESTAMP palauta 0 jälkeen 03:14:07 UTC . Sisäiseen jonoon asetettua ongelmaa oli äskettäin yritetty ratkaista.
MySQL:n käyttöönotto
MySQL voidaan asentaa ja rakentaa manuaalisesti lähdekoodilla, mutta se asennetaan periaatteessa binääripaketilla, ellei yksilöllisiä mukautuksia tarvita. Paketinhallintajärjestelmä voi saada ja asentaa MySQL:n pienellä vaivalla, useimpien Linux-jakelujen optimointi- ja suojausasetusten säätämiseen tarvitaan usein lisäkonfiguraatioita.
Korkean käytettävyyden sovellus
Oracle MySQL tarjoaa korkean käytettävyyden sovelluksia, joissa on sekoitus työkaluja, mukaan lukien MySQL-kuori ja MySQL reititin . Ne perustuvat avoimen lähdekoodin työkaluihin ja ryhmän replikointiin. MariaDB tarjoaa saman tarjouksen toisin kuin tuotteet.
Kuinka käynnistää MySQL-palvelin uudelleen?
Voimme käyttää komentoa, eli ' palvelu' yleisten toimintojen suorittamiseen, kuten MySQL-palvelimen käynnistämiseen, pysäyttämiseen ja uudelleenkäynnistykseen Ubuntussa. Ensin meidän on kirjauduttava sisään verkkopalvelimellemme ja syötettävä jokin seuraavista komennoista.
Voimme kirjoittaa alla olevan komennon MySQL-palvelimen käynnistämiseksi Ubuntussa:
$ sudo systemctl start mysql.service $ sudo systemctl status mysql.service
Voimme kirjoittaa alla olevan komennon MySQL-palvelimen pysäyttämiseksi Ubuntussa:
$ sudo systemctl stop mysql.service $ sudo systemctl status mysql.service
Voimme kirjoittaa alla olevan komennon MySQL-palvelimen käynnistämiseksi uudelleen Ubuntussa:
$ sudo systemctl restart mysql.service
Voimme syöttää alla olevan komennon tarkistaaksesi MySQL-palvelimen tilan Ubuntussa (onko se käynnissä vai ei):
$ sudo systemctl status mysql.service