sql >> Databasteknik >  >> RDS >> Mysql

15 Användbara MySQL/MariaDB-prestandajusteringar och optimeringstips

MySQL är ett kraftfullt Relational Database Management System med öppen källkod eller kortfattat RDBMS . Den släpptes redan 1995 (20 år gammal). Den använder Structured Query Language vilket förmodligen är det mest populära valet för att hantera innehåll i en databas. Den senaste MySQL-versionen är 5.6.25 och släpptes 29 maj 2015 .

Ett intressant faktum om MySQL är det faktum att namnet kommer från Michael Widenius (MySQLs skapare) dotter My. Även även om det finns massor av intressanta fakta om MySQL, är den här artikeln tänkt att visa dig några användbara metoder för att hjälpa dig hantera din MySQL-server.

I april 2009 MySQL-projektet köptes av Oracle. Som ett resultat av en MySQL-gemenskapsgaffel som heter MariaDB skapades. Det främsta skälet till att skapa gaffeln var att hålla projektet fritt under General Public License.

Idag MySQL och MariaDB är en av de mest (om inte den mest) vanligaste RDBMS som används för webbapplikationer som WordPress , Joomla , Magento och andra.

Den här artikeln kommer att visa dig några grundläggande, men ändå användbara tips om hur du kan optimera finjusteringen av MySQL/MariaDB. Kom ihåg att den här artikeln förutsätter att du redan har MySQL eller MariaDB installerat. Om du fortfarande undrar hur du installerar dem på ditt system kan du följa våra omfattande guider här:

  1. Installerar LAMP på RHEL/CentOS 7
  2. Installerar LAMP på Fedora 22
  3. Konfigurera LAMP på Ubuntu 15.04
  4. Installation av MariaDB på Debian 8
  5. Installera MariaDB på Gentoo Linux
  6. Installera MariaDB på Arch Linux

Viktigt :Innan vi börjar – acceptera inte detta förslag blint. Varje MySQL-inställning är unik och kräver ytterligare eftertanke innan du gör några ändringar.

Saker du behöver veta:

  1. MySQL/MariaDB-konfigurationsfilen finns i /etc/my.cnf . Varje gång du ändrar den här filen måste du starta om MySQL-tjänsten så att de nya ändringarna kan träda i kraft.
  2. För att skriva den här artikeln MySQL version 5.6 har använts som mall.

1. Aktivera InnoDB fil-per-tabell

Först är det viktigt att förklara det InnoDB är en lagringsmotor. MySQL och MariaDB använder InnoDB som standardlagringsmotor. Tidigare använde MySQL för att hålla databastabeller och index i ett systemtabellutrymme. Detta tillvägagångssätt var avsett för servrar vars enda syfte är databasbearbetning och deras lagringsdisk används inte för några andra ändamål.

InnoDB ger ett mer flexibelt tillvägagångssätt och varje databasinformation hålls i en .ibd data fil. Varje .ibd filen representerar ett eget tabellutrymme. På så sätt databasoperationer som "TRUNCATE ” kan slutföras snabbare och du kan även återta oanvänt utrymme när du släpper eller trunkerar en databastabell.

En annan fördel med denna konfiguration är det faktum att du kan behålla några av databastabellerna i en separat lagringsenhet. Detta kan förbättra I/O avsevärt ladda på dina diskar.

innodb_file_per_table är aktiverat som standard i MySQL 5.6 och senare. Du kan se det i /etc/my.cnf fil. Direktivet ser ut så här:

innodb_file_per_table=1

2. Lagra MySQL-databasdata på separat partition

Obs :Denna inställning fungerar bara med MySQL, men inte med MariaDB.

Ibland kan OS-läs/skrivning sakta ner prestandan för din MySQL-server, speciellt om den finns på samma hårddisk. Istället skulle jag rekommendera att använda separat hårddisk (helst SSD) för MySQL-tjänsten.

För att slutföra detta måste du ansluta den nya enheten till din dator/server. För syftet med den här artikeln kommer jag att anta att enheten kommer att vara under /dev/sdb .

Nästa steg är att förbereda den nya enheten:

# fdisk /dev/sdb

Tryck nu på "n " för att skapa en ny partition. Tryck sedan på p ” för att göra den nya partitionen primär. Efter det ställer du in partitionsnumret från 1-4 . Efter det kommer du att välja partitionsstorlek. Tryck på enter här. I nästa steg måste du konfigurera storleken på partitionen.

Om du vill använda hela disken, tryck på enter en gång till. Annars kan du ställa in storleken på den nya partitionen manuellt. När du är klar trycker du på "w ” för att skriva ändringarna. Nu måste vi skapa ett filsystem för vår nya partition. Detta kan enkelt göras med:

# mkfs.ext4 /dev/sdb1

Nu ska vi montera vår nya partition i en mapp. Jag har döpt min mapp till "ssd ” och skapas i rotkatalogen:

# mkdir /ssd/

Vi är redo att montera den nya partitionen vi just skapade i den nya mappen:

# mount /dev/sdb1  /ssd/

Du kan utföra monteringen vid start genom att lägga till följande rad i /etc/fstab fil.

/dev/sdb1 /ssd ext3 defaults 0 0

Nu är du redo att flytta MySQL till den nya disken. Stoppa först MySQL-tjänsten med:

# service mysqld stop

Jag skulle rekommendera att du också stoppar Apache/nginx för att förhindra alla försök att skriva i databaserna:

# service httpd stop
# service nginx stop

Kopiera nu hela MySQL-katalogen till den nya enheten:

# cp /var/lib/mysql /ssd/ -Rp

Detta kan ta ett tag beroende på platsen för dina MySQL-databaser. När denna process är klar, byt namn på MySQL-katalogen:

# mv /var/lib/mysql /var/lib/mysql-backup

Därefter skapar vi en symbollänk.

# ln -s /ssd/mysql /var/lib/mysql

Nu är du redo att starta din MySQL och webbtjänst:

# service mysqld start
# service httpd start
# service nginx start

Vid det här laget kommer dina MySQL-databaser att nås från den nya enheten.

Sidor:1 2 3 4
  1. MariaDB – MySQL – Visa motorer för att visa alla tillgängliga och stödda motorer

  2. Anslut ODBC-applikationer på Windows till QuickBooks Online

  3. Hur man kontrollerar om PostgreSQL-arrayen innehåller värde

  4. Hur SQLite Char() fungerar