sql >> Database teknologi >  >> RDS >> Mysql

15 Nyttige MySQL/MariaDB-tip til justering af ydeevne og optimering

MySQL er et kraftfuldt Relational Database Management System med åben kildekode eller kort sagt RDBMS . Den blev udgivet tilbage i 1995 (20 år gammel). Den bruger Structured Query Language som nok er det mest populære valg til at administrere indhold i en database. Den seneste MySQL-version er 5.6.25 og blev udgivet den 29. maj 2015 .

Et interessant faktum om MySQL er, at navnet kommer fra Michael Widenius's (MySQL’s skaber) datter Min. Selv Selvom der er masser af interessante fakta om MySQL, er denne artikel beregnet til at vise dig nogle nyttige fremgangsmåder til at hjælpe dig med at administrere din MySQL-server.

I april 2009 MySQL-projektet blev købt af Oracle. Som et resultat heraf en MySQL-fællesskabsgaffel kaldet MariaDB var lavet. Hovedårsagen til at skabe gaffelen var at holde projektet frit under General Public License.

I dag MySQL og MariaDB er en af ​​de mest (hvis ikke den mest) hyppigt anvendte RDBMS, der bruges til webapplikationer såsom WordPress , Joomla , Magento og andre.

Denne artikel vil vise dig nogle grundlæggende, men nyttige tips til, hvordan du optimerer finjusteringen af ​​MySQL/MariaDBs ydeevne. Husk, at denne artikel antager, at du allerede har MySQL eller MariaDB installeret. Hvis du stadig spekulerer på, hvordan du installerer dem på dit system, kan du følge vores omfattende guider her:

  1. Installation af LAMP på RHEL/CentOS 7
  2. Installation af LAMP på Fedora 22
  3. Opsætning af LAMP på Ubuntu 15.04
  4. Installation af MariaDB på Debian 8
  5. Installer MariaDB på Gentoo Linux
  6. Installer MariaDB på Arch Linux

Vigtigt :Inden vi starter – accepter ikke dette forslag blindt. Hver MySQL-opsætning er unik og kræver yderligere eftertanke, før du foretager ændringer.

Ting du skal vide:

  1. MySQL/MariaDB-konfigurationsfilen er placeret i /etc/my.cnf . Hver gang du ændrer denne fil, skal du genstarte MySQL-tjenesten, så de nye ændringer kan træde i kraft.
  2. Til at skrive denne artikel MySQL version 5.6 er blevet brugt som skabelon.

1. Aktiver InnoDB fil-pr-tabel

Først er det vigtigt at forklare det InnoDB er en lagermotor. MySQL og MariaDB bruger InnoDB som standardlagringsmotor. Tidligere brugte MySQL til at opbevare databasetabeller og indekser i et systemtablespace. Denne tilgang var beregnet til servere, hvis eneste formål er databasebehandling, og deres lagerdisk bruges ikke til andre formål.

InnoDB giver en mere fleksibel tilgang, og hver databaseinformation opbevares i en .ibd datafil. Hver .ibd fil repræsenterer sit eget tablespace. På den måde databaseoperationer såsom "TRUNCATE ” kan fuldføres hurtigere, og du kan også genvinde ubrugt plads, når du dropper eller trunkerer en databasetabel.

En anden fordel ved denne konfiguration er, at du kan opbevare nogle af databasetabellerne på en separat lagerenhed. Dette kan i høj grad forbedre I/O indlæs på dine diske.

innodb_file_per_table er aktiveret som standard i MySQL 5.6 og nyere. Du kan se det i /etc/my.cnf fil. Direktivet ser således ud:

innodb_file_per_table=1

2. Gem MySQL-databasedata på separat partition

Bemærk :Denne opsætning virker kun med MySQL, men ikke med MariaDB.

Nogle gange kan OS læse/skrive sænke ydeevnen af ​​din MySQL-server, især hvis den er placeret på samme harddisk. I stedet vil jeg anbefale at bruge separat harddisk (helst SSD) til MySQL-tjenesten.

For at fuldføre dette skal du tilslutte det nye drev til din computer/server. I forbindelse med denne artikel vil jeg antage, at drevet vil være under /dev/sdb .

Det næste trin er at forberede det nye drev:

# fdisk /dev/sdb

Tryk nu på "n ” for at oprette en ny partition. Tryk derefter på "p ” for at gøre den nye partition til primær. Indstil derefter partitionsnummeret fra 1-4 . Derefter vælger du partitionsstørrelsen. Tryk på enter her. På næste trin skal du konfigurere størrelsen på partitionen.

Hvis du ønsker at bruge hele disken, tryk enter en gang til. Ellers kan du manuelt indstille størrelsen på den nye partition. Når du er klar, tryk på "w ” for at skrive ændringerne. Nu bliver vi nødt til at oprette et filsystem til vores nye partition. Dette kan nemt gøres med:

# mkfs.ext4 /dev/sdb1

Nu vil vi montere vores nye partition i en mappe. Jeg har navngivet min mappe "ssd ” og oprettet i rodmappen:

# mkdir /ssd/

Vi er klar til at montere den nye partition, vi lige har lavet i den nye mappe:

# mount /dev/sdb1  /ssd/

Du kan udføre monteringen ved opstart ved at tilføje følgende linje i /etc/fstab fil.

/dev/sdb1 /ssd ext3 defaults 0 0

Nu er du klar til at flytte MySQL til den nye disk. Stop først MySQL-tjenesten med:

# service mysqld stop

Jeg vil anbefale dig også at stoppe Apache/nginx for at forhindre forsøg på at skrive i databaserne:

# service httpd stop
# service nginx stop

Kopier nu hele MySQL-biblioteket i det nye drev:

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

Dette kan tage et stykke tid afhængigt af webstedet for dine MySQL-databaser. Når denne proces er færdig, omdøb MySQL-biblioteket:

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

Dernæst vil vi oprette et symbollink.

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

Nu er du klar til at starte din MySQL og webservice:

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

På dette tidspunkt vil dine MySQL-databaser blive tilgået fra det nye drev.

Sider:1 2 3 4
  1. Hvordan indlæses en XML-fil i en database ved hjælp af en SSIS-pakke?

  2. Er det muligt at sende tabelnavn som en parameter i Oracle?

  3. Hvordan rettes genoprettelsesafventende tilstand i SQL Server-databasen?

  4. Lær grundlæggende SQL-forespørgsler ved hjælp af MySQL