MySQL kan worden omschreven als een databasebeheersysteem (open-source), meestal geïnstalleerd als onderdeel van het beroemde LAMP (Linux, Apache, MySQL, Perl/PHP/Python) stapel. Het past Structured Query Language toe (afkorting van SQL) en beheert het relationele model voor het beheer van de gegevens.
Het is de meest herkenbare technologie in het nieuwste ecosysteem van big data. Vaak bekend als de beroemdste database en momenteel effectief en wijdverspreid gebruikt, ongeacht de productie. Het is transparant dat iedereen die zich bezighoudt met algemene IT- of bedrijfsgegevens op zijn minst moet streven naar een gemeenschappelijke MySQL-bekendheid.
Iedereen die nieuw is of niet bekend is met relationele systemen, kan krachtige, veilige en snelle gegevensopslagsystemen bouwen MySQL . De programmatische interfaces en syntaxis van MySQL zijn ook ideale toegangspoorten tot de enorme wereld van andere beroemde gestructureerde datastores en querytalen.
Overzicht van MySQL
MySQL is bijgeschreven C++ En C . De SQL-parser van MySQL is geschreven jacc Het past echter een zelfgebouwde lexicale analysator toe. MySQL implementeert op verschillende systeemplatforms, waaronder 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 en AIX. Er is ook een MySQL-poort naar OpenVMS beschikbaar.
De clientbibliotheken en serversoftware zelf van MySQL maken gebruik van de distributie van dubbele licenties. Ze worden geleverd onder de tweede versie van de GPL of onder een eigen licentie. Ondersteuning kan worden verkregen met de officiële handleiding. Bovendien is er gratis ondersteuning beschikbaar in verschillende IRC-formulieren en -kanalen. Oracle faciliteert betaalde ondersteuning door zijn MySQL Enterprise-producten . Ze verschillen ook qua omvang en prijs van de diensten. Er zijn ook externe organisaties die diensten en ondersteuning aanbieden.
MySQL heeft diverse positieve recensies gekregen en het viel deze reviewers op dat het 'buitengewoon goed implementeert binnen de gemiddelde situatie' en dat de 'interfaces van de ontwikkelaar aanwezig zijn, en documentatie'. Ook is het geïnspecteerd als een echte multi-user, stabiele en snelle multi-threaded databaseserver van SQL.
Specificaties van MySQL
MySQL is relationeel
De belangrijkste factor is het differentiëren van relationele databases via andere vormen van digitale opslag in de manier waarop gegevens op een hoog niveau worden beheerd. Veel databases zoals MySQL bevatten records in sterk gecodificeerde, afzonderlijke en meerdere tabellen, in tegenstelling tot één allesomvattende verzameling of opslagplaatsen van ongestructureerde of semi-gestructureerde documenten.
- Het maakt het voor relationele databasesystemen mogelijk om acties zoals het bijwerken van informatie, het ophalen van gegevens of meer gecompliceerde acties zoals aggregaties beter te benutten.
- Voor elke inhoud van de database wordt een logisch model gespecificeerd, dat bijvoorbeeld de toegestane waarden in een enkele kolom specificeert, de kenmerken van views en tabellen, of hoe indices uit twee verschillende tabellen worden geassocieerd.
- Verschillende relationele modellen zijn om verschillende redenen beroemd.
- Ze moedigen gebruikers aan met declaratieve en intuïtieve programmeertalen, waarbij ze in wezen de database instrueren welk resultaat in de taal gewenst is.
- Het verplaatst werk naar de SQL- en RDBMS-engines voor een betere opslag en handhaving van logische regels van waardevolle mankracht en middelen.
Open source
Elke onderneming of ieder individu mag de open-source MySQL-codebasis van Oracle vrijelijk uitbreiden, publiceren, wijzigen en gebruiken. De software wordt gepubliceerd op de GNU GPL (algemene publieke licentie) .
- Voor MySQL-code die moet worden opgenomen of geïntegreerd in een commerciële applicatie (of wanneer open-sourcesoftware geen prioriteit is), kunnen veel bedrijven een commercieel gelicentieerde release van Oracle kopen.
- Deze alternatieven bieden bedrijven extra flexibiliteit als ze willen implementeren MySQL .
- Het community- en publieke karakter van open-sourceversies verrijken de online ondersteunings- en documentatiecultuur van MySQL, terwijl ze er ook voor zorgen dat nieuw ontwikkelde of duurzame mogelijkheden nooit te ver afwijken van de gebruikersvereisten.
MySQL is compatibel
MySQL is ontwikkeld om compatibel te zijn met andere architecturen en technologieën, hoewel het vaak samenwerkt met webservices of internetapplicaties. Het relationele databasebeheersysteem draait op elke grote computeromgeving, inclusief een op Unix gebaseerd besturingssysteem, zoals de talloze Linux-distributies, Windows , En macOS .
De client-server-architectuur van MySQL specificeert dat het ook een reeks backends en verschillende programmeerinterfaces kan ondersteunen. Gegevens kunnen met MySQL naar de vorken worden gemigreerd ( MariaDB ) en de meeste andere relationele databasebeheersystemen ook vanwege taal- en architectonische overeenkomsten.
- Gevestigde migratie- en Oracle-tools van derden maken het MySQL verder mogelijk gegevens te verplaatsen naar en via een enorme verzameling algemene opslagsystemen, maar deze zijn ontwikkeld om in de cloud of op locatie te zijn.
- MySQL kan worden gebruikt in gecentraliseerde of gedistribueerde, gevirtualiseerde omgevingen en is zelfs beschikbaar als bibliotheken om kleine, testtoepassingen te leren.
- De brede compatibiliteit van MySQL met alle andere software en systemen maakt het in de meeste gevallen tot een praktische keuze voor relationele databasebeheersystemen.
Makkelijk te gebruiken
Misschien is het tafelparadigma het meest intuïtief en maakt het een grotere bruikbaarheid mogelijk, ondanks de relationele aard ervan MySQL en de rigide opslagstructuren lijken misschien beperkend. In werkelijkheid, MySQL maakt verschillende erkenningen ter ondersteuning van het enorm mogelijke bereik aan datastructuren, via de standaard maar rijke tijdtypen, datum, alfanumerieke, numerieke en logische tot meer geavanceerde geospatiale of JSON-gegevens.
- Naast een dure ingebouwde functieverzameling en eenvoudige gegevenstypen, bevat het ecosysteem van MySQL ook een reeks tools die alles vereenvoudigen, van serverbeheer tot gegevensanalyse en rapportage.
- Ongeacht de overkoepelende architectuur van een relationeel databasebeheersysteem kunnen gebruikers een MySQL-aspect vinden waarmee ze gegevens kunnen codificeren en modelleren zoals zij dat willen.
- MySQL blijft de meest eenvoudige databasetechnologie om te gebruiken en te leren.
Kenmerken van MySQL
MySQL wordt aangeboden in twee verschillende edities: de eigen Enterprise-server En de open source MySQL Community Server. MySQL Enterprise-server wordt gescheiden door een eigen extensieserie die wordt geïnstalleerd zoals de serverplug-ins, maar het nummeringssysteem van de versie distribueert en is ontwikkeld met behulp van een vergelijkbare codebasis.
Enkele belangrijke kenmerken van versie 5.6 van MySQL worden hieronder uitgelegd:
- Ondersteuning voor meerdere platforms
- Een ANSI-SQL 99 brede subset en uitbreidingen ook.
- Opgeslagen procedures met de proceduretalen die bijna aan PSM/SQL voldoen.
- Bijwerkbare weergaven
- Cursors
- Triggers
- Informatieschema
- Online Gegevensdefinitietaal (kort voor DDL ) als u de InnoDB Opslagmotor.
- Prestatieschema dat statistieken over queryprestaties en serveruitvoering verzamelt en combineert om doeleinden te monitoren.
- Een groep SQL-modusopties voor het controleren van runtime-gedrag, zoals een strikte modus om te voldoen aan de standaarden van SQL.
- Spaar punten met transacties als u de InnoDB Opslagengine (standaard). Ook ondersteunt de NDB Cluster Storage Engine transacties.
- Querycaching
- SSL-ondersteuning
- Sub-SELECT's (bijv. geneste SELECT's )
- Ingebouwde ondersteuning voor replicatie
Virtueel synchroon: De zelfbeheerde groepen van de MySQL-server met ondersteuning voor meerdere masters kunnen worden geïmplementeerd met behulp van de ingebouwde plug-in van Group Replication of Kombuis cluster .
Beperkingen van MySQL
Wanneer u een paar andere opslagengines gebruikt dan de InnoDB (standaard) , dan voldoet MySQL niet aan de volledige SQL-standaard voor een aantal van de geïmplementeerde functionaliteiten, zoals refererende sleutelreferenties. Ook kunnen controlebeperkingen worden geparseerd, maar vermeden door elke opslagengine vóór versie 8.0.15 van MySQL.
Triggers zijn beperkt tot één enkele trigger per timing/actie tot versie 5.7 van MySQL, wat betekent dat er maximaal één enkele trigger kan worden gespecificeerd om na een bewerking te worden uitgevoerd, dat wil zeggen: INVOEGEN , en een enkele eerder INVOEGEN op een soortgelijke tafel. Er konden geen triggers worden opgegeven voor weergaven.
Op 19 januari 2038 werden de ingebouwde functies van de MySQL-database zoals UNIX_TIMESTAMP retourneer 0 na 03:14:07 UTC . Er was onlangs een poging gedaan om het probleem op te lossen dat in de interne wachtrij was geplaatst.
Implementatie van MySQL
MySQL kan handmatig worden geïnstalleerd en gebouwd met behulp van de broncode, maar het wordt feitelijker geïnstalleerd met behulp van een binair pakket, tenzij er unieke aanpassingen nodig zijn. Het pakketbeheersysteem kan MySQL met minimale inspanning verkrijgen en installeren; verdere configuraties zijn vaak nodig voor het aanpassen van de optimalisatie- en beveiligingsinstellingen op de meeste Linux-distributies.
Applicatie met hoge beschikbaarheid
Oracle MySQL biedt toepassingen met hoge beschikbaarheid met een mix van tools, waaronder de MySQL-shell en de MySQL-router . Ze zijn gebaseerd op open-sourcetools en groepsreplicatie. MariaDB biedt hetzelfde aanbod in tegenstelling tot producten.
Hoe de MySQL-server opnieuw opstarten?
We kunnen het commando gebruiken, d.w.z. ' dienst' voor het uitvoeren van algemene bewerkingen zoals het starten, stoppen en opnieuw opstarten van de MySQL-server in Ubuntu. Eerst moeten we inloggen op onze webserver en een van de volgende opdrachten invoeren.
We kunnen de onderstaande opdracht invoeren om de MySQL-server in Ubuntu te starten:
$ sudo systemctl start mysql.service $ sudo systemctl status mysql.service
We kunnen de onderstaande opdracht invoeren om de MySQL-server in Ubuntu te stoppen:
$ sudo systemctl stop mysql.service $ sudo systemctl status mysql.service
We kunnen de onderstaande opdracht invoeren om de MySQL-server in Ubuntu opnieuw op te starten:
$ sudo systemctl restart mysql.service
We kunnen de onderstaande opdracht invoeren om de status van de MySQL-server in Ubuntu te controleren (of deze nu actief is of niet):
$ sudo systemctl status mysql.service