Hvad er MySQL? Hvordan fungerer MySQL?


MySQL er verdens mest populære open source-relationsdatabasesystem (RDBMS), der bruges på Facebook, Google, Adobe, Alcatel Lucent og Zappos og af mange online-websteder/applikationer.

Det er udviklet, distribueret og understøttet af Oracle Corporation. Det er en platform, kraftfuld, fleksibel og udvidelig relationsdatabase, der er baseret på SQL (Structured Query Language) standardiserede sprog, der bruges til at oprette og manipulere databaser.

Den nyeste version af MySQL (version 8.0 i skrivende stund) leveres med understøttelse af NoSQL (“Not Only SQL”) dokumentdatabaser. Det kan installeres i Linux, macOS og andre UNIX-lignende operativsystemer og Windows.

  • Download MySQL Community Edition
  • Download MySQL Enterprise Edition

MySQL-databasesoftwaren er open source, den bruger GPL (GNU General Public License). Det er vigtigt, at den tilbydes i to forskellige udgaver: open source MySQL Community Server, som du kan downloade, få adgang til kildekoden og bruge gratis og den proprietære MySQL Enterprise-udgave og andre kommercielle produkter, der kræver årligt abonnement og inkluderer professionel support og mange andre fordele.

MySQL bruges til en lang række formål, herunder webdatabase (den mest almindelige anvendelse), datalager, e-handel og logningsprogrammer. Det er en af den almindeligt installerede software til at oprette en LAMP (Linux + Apache + MySQL + PHP) eller LEMP (Linux + Engine-X + MySQL + PHP) stak, der bruges til webudvikling og hosting af online indholdsstyringssystemer som WordPress, Magneto, Joomla, Drupal og mange andre. Bortset fra PHP understøtter den også mange andre sprog, herunder Perl, Node.js, Python osv.

Tjek disse relaterede vejledninger til opsætning af din applikation med MySQL-databasen på Linux.

  • Sådan installeres LAMP-server på CentOS 8
  • Sådan installeres LEMP-server på CentOS 8
  • Sådan installeres LAMP Stack med PhpMyAdmin i Ubuntu 20.04
  • Sådan installeres LEMP Stack med PhpMyAdmin i Ubuntu 20.04
  • Sådan installeres WordPress med Apache i Ubuntu 20.04

Hvordan fungerer MySQL?

Som de fleste databasehåndteringssystemer derude har MySQL en klient-serverarkitektur og kan bruges i et netværksmiljø. Serverprogrammet ligger på det samme fysiske eller virtuelle system, hvor databasefilerne er gemt, og det er ansvarligt for alle interaktioner med databaserne.

Forskellige klientprogrammer såsom MySQL-værktøjer til databaseadministration eller andre applikationer, der er skrevet på andre programmeringssprog, kan oprette forbindelse til serveren og foretage databaseanmodninger. Serveren behandler klientanmodninger og returnerer resultaterne tilbage til klienten.

En klient kan enten opholde sig på det samme system som serveren eller på en ekstern vært og sende databaseanmodninger over et netværk eller internetforbindelse til serveren. Det er vigtigt, at MySQL-serveren skal køre for at klienter kan oprette forbindelse til den.

Nøglefunktioner i MySQL

MySQL bruger et serverlag med flere lag med uafhængige moduler. Serveren er multi-threaded, multi-user, skalerbar og robust designet til missionskritiske, tung belastning produktionssystemer. Det giver både transaktions- og ikke-transaktionsmotorer og understøtter tilføjelsen af andre lagermotorer.

  • MySQL bruger meget hurtige B-træ-tabeller med indekskomprimering, et meget hurtigt trådbaseret hukommelsesallokeringssystem og udfører meget hurtige sammenføjninger ved hjælp af optimeret indlejret loop-sammenføjning.
  • Det understøtter mange datatyper såsom underskrevne/usignerede heltal, floating-point-typer (float og double), char og varchar, binær og varbinary, blob og tekst, Date, DateTime og tidsstempel, år, sæt, enum, og OpenGIS rumlige typer.
  • MySQL understøtter også dataredundans og høj tilgængelighed (HA) via master-slave-replikering, klynging af flere noder og backup og gendannelse/gendannelse. Det tilbyder en bred vifte af backuptyper og strategier, hvorfra du kan vælge de metoder, der bedst passer til kravene til din implementering.
  • Dens sikkerhedsfunktioner inkluderer styring af brugerkonti og adgangskontrol, værtsbaseret verifikation, krypterede forbindelser, flere komponenter og plugins (såsom godkendelses-plugins, plugins til forbindelsesstyring, komponent til validering af adgangskode og mange flere), der implementerer sikkerhed som samt FIPS (Federal Information Processing Standards 140-2 (FIPS 140-2)) -tilstand på serversiden, der gælder for kryptografiske operationer udført af serveren.

Derudover kan du også sikre yderligere sikkerhed ved at følge MySQL/MariaDB-sikkerhedspraksis for Linux. Men som altid skal du sikre dig, at du har implementeret god netværks- og serversikkerhed for at sikre en allsidig databaseserversikkerhed.

MySQL-klient og værktøjer

MySQL leveres med flere klientprogrammer såsom de populære kommandolinjeværktøjer: mysql, mysqladmin og mysqldump til administration af databaser. For at oprette forbindelse til MySQL-serveren kan klienter bruge flere protokoller, for eksempel TCP/IP-sockets på enhver platform eller UNIX-domænesockets på UNIX-systemer som Linux.

For at oprette forbindelse og udføre MySQL-udsagn fra et andet sprog eller miljø, er der standardbaserede MySQL-stik (der giver forbindelse til MySQL-serveren til klientapplikationer) og API'er til de mest populære programmeringssprog (for at give adgang på lavt niveau til MySQL-ressourcer ved hjælp af enten den klassiske MySQL-protokol eller X-protokollen).

Nogle af de populære stik og API'er inkluderer ODBC (Open Database Connectivity), Java (JDBC - Java Database Connectivity), Python, PHP, Node.js, C ++, Perl, Ruby og native C og indlejrede MySQL-forekomster.

Du finder følgende artikler om MySQL nyttige:

  • Sådan installeres den nyeste MySQL 8 på Debian 10
  • 15 Nyttige MySQL/MariaDB Performance Tuning og optimeringstips
  • Nyttige tip til fejlfinding af almindelige fejl i MySQL
  • Sådan nulstilles rodadgangskode i MySQL 8.0
  • Sådan ændres MySQL/MariaDB-standardport i Linux
  • 4 Nyttige kommandolinjeværktøjer til overvågning af MySQL-ydeevne i Linux