15 Conseils de réglage et d'optimisation des performances MySQL / MARIADB utiles

15 Conseils de réglage et d'optimisation des performances MySQL / MARIADB utiles

Mysql est une puissante open source Système de gestion de base de données relationnelle ou en bref SRBDS. Il est sorti en 1995 (20 ans). Il utilise Langage de requêtes structurées Ce qui est probablement le choix le plus populaire pour gérer le contenu dans une base de données. La dernière version MySQL est 5.6.25 et a été libéré sur 29 mai 2015.

Un fait intéressant à propos de MySQL est le fait que le nom vient de Michael Widenius (Créateur de MySQL) fille Mon. Même Bien qu'il existe de nombreux faits intéressants sur MySQL, cet article est destiné à vous montrer des pratiques utiles pour vous aider à gérer votre serveur MySQL.

MySQL Performance Tuning

En avril 2009 Le projet MySQL a été acheté par Oracle. En conséquence, une fourche communautaire MySQL a appelé Mariadb a été créé. La raison principale de la création de la fourche était de garder le projet gratuit en vertu de la licence publique générale.

Aujourd'hui Mysql et Mariadb sont l'un des DBM les plus (sinon les plus les plus) utilisés pour les applications Web telles que Wordpress, Joomla, Magento et d'autres.

Cet article vous montrera quelques conseils de base mais utiles comment optimiser l'affinement. Veuillez garder à l'esprit que cet article suppose que vous avez déjà installé MySQL ou MariaDB. Si vous vous demandez toujours comment les installer sur votre système, vous pouvez suivre nos vastes guides ici:

  1. Installation de lampe sur RHEL / CENTOS 7
  2. Installation de lampe sur Fedora 22
  3. Configuration de la lampe sur Ubuntu 15.04
  4. Installation de MariaDB sur Debian 8
  5. Installez MariaDB sur Gentoo Linux
  6. Installez MariaDB sur Arch Linux

Important: Avant de commencer - n'acceptez pas ces suggestions aveuglément. Chaque configuration MySQL est unique et nécessite une réflexion supplémentaire, avant d'apporter des modifications.

Des choses que vous devez savoir:

  1. Le fichier de configuration MySQL / MARIADB est situé dans / etc / mon.CNF. Chaque fois que vous modifiez ce fichier, vous devrez redémarrer le service MySQL afin que les nouvelles modifications puissent prendre effet.
  2. Pour avoir écrit cet article Version MySQL 5.6 a été utilisé comme modèle.

1. Activer le fichier innodb par rapport

Il est d'abord important d'expliquer que Innodb est un moteur de stockage. MySQL et MARIADB utilisent InNODB comme moteur de stockage par défaut. Dans le passé, MySQL a utilisé pour conserver les tables de base de données et les index dans un espace de table système. Cette approche était destinée aux serveurs, ce seul objectif est le traitement de la base de données et leur disque de stockage n'est utilisé à aucune autre fin.

L'InNODB fournit une approche plus flexible et chaque information de base de données est conservée dans un .MII fichier de données. Chaque .MII Le fichier représente un espace de table propre. De cette façon, les opérations de base de données telles que «TRONQUER"Peut être achevé plus rapidement et vous pouvez également récupérer un espace inutilisé lors de la suppression ou du tronçon d'une table de données.

Un autre avantage de cette configuration est le fait que vous pouvez conserver certaines des tables de base de données dans un périphérique de stockage séparé. Cela peut améliorer considérablement le E / S Chargez sur vos disques.

Le innodb_file_per_table est activé par défaut dans mysql 5.6 et plus. Tu peux voir ça dans / etc / mon.CNF déposer. La directive ressemble à ceci:

innodb_file_per_table = 1 

2. Stockez les données de la base de données MySQL sur une partition séparée

Note: Cette configuration ne fonctionne qu'avec MySQL, mais pas avec MariaDB.

Parfois, la lecture / les écritures du système d'exploitation peut ralentir les performances de votre serveur MySQL, surtout si elle est située sur le même disque dur. Au lieu de cela, je recommanderais d'utiliser un disque dur séparé (de préférence SSD) pour le service MySQL.

Pour terminer, vous devrez joindre le nouveau lecteur à votre ordinateur / serveur. Aux fins de cet article, je suppose que le lecteur sera sous / dev / sdb.

L'étape suivante consiste à préparer le nouveau lecteur:

# fdisk / dev / sdb 

Maintenant, appuyez sur "n«Pour créer une nouvelle partition. Suivant appuyez sur "p«Pour rendre la nouvelle partition primaire. Après cela, définissez le numéro de partition de 1-4. Après cela, vous sélectionnez la taille de partition. Appuyez sur Entrée ici. À l'étape suivante, vous devrez configurer la taille de la partition.

Si vous souhaitez utiliser le disque entier, appuyez à nouveau sur Entrée. Sinon, vous pouvez définir manuellement la taille de la nouvelle partition. Lorsque vous êtes prêt, appuyez sur "w"Pour écrire les changements. Nous devrons maintenant créer un système de fichiers pour notre nouvelle partition. Cela peut être facilement fait avec:

# MKFS.ext4 / dev / sdb1 

Maintenant, nous allons monter notre nouvelle partition dans un dossier. J'ai nommé mon dossier "SSD»Et créé dans le répertoire racine:

# mkdir / ssd / 

Nous sommes prêts à monter la nouvelle partition que nous venons de faire dans le nouveau dossier:

# Mount / dev / sdb1 / ssd / 

Vous pouvez effectuer le support au démarrage en ajoutant la ligne suivante / etc / fstab déposer.

/ dev / sdb1 / ssd ext3 par défaut 0 0 

Vous êtes maintenant prêt à déplacer MySQL vers le nouveau disque. Arrêtez d'abord le service MySQL avec:

# service mysqld stop 

Je vous recommande également d'arrêter Apache / Nginx pour éviter toute tentative d'écriture dans les bases de données:

# service httpd stop # service nginx stop 

Copiez maintenant l'intégralité du répertoire MySQL dans le nouveau lecteur:

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

Cela peut prendre un certain temps en fonction du site de vos bases de données MySQL. Une fois ce processus terminé, renommez le répertoire MySQL:

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

Ensuite, nous créerons un lien symbolique.

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

Vous êtes maintenant prêt à démarrer votre service MySQL et votre service Web:

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

À ce stade, vos bases de données MySQL seront accessibles à partir du nouveau lecteur.

Pages: 1 2 3 4