Skip to content

Étiquette : mysql

Installation d’une stack LAMP sur debian

Aujourd’hui, nous allons voir ensemble comment installer une stack LAMP (Linux-Apache-MySQL-PHP) sur un serveur sous Debian.

Ce tutoriel se veut être le plus simple et basique possible.

Ce tutoriel va vous permettre :

  • de disposer d’un serveur web (Apache + PHP) de base
  • de disposer d’un serveur de base de donnée MySQL (et de phpMyAdmin, une interface web pour gérer celui-ci)
  • de disposer d’un serveur smtp local (uniquement utiliser pour envoyer des mails depuis vos sites en php)

Ce que ce tutoriel ne va pas vous permettre :

  • connaitre l’ensemble des possibilités d’apache
  • de disposer d’un serveur mail complet (POP, IMAP, SMTP)
  • de disposer d’un serveur ultra-sécurisé et optimisé

Ce contenu a été publié il y a 5 ans. Merci de lire cette page en gardant son âge à l'esprit, son contenu étant potentiellement obsolète.

Leave a Comment

MySQL : convertir une table MyISAM vers InnoDB

Il y a quelques temps et pour des questions de performances, j’ai eu à convertir une base de données d’une cinquantaine de tables du moteur MyISAM vers InnoDB.

Voici une méthode simple et rapide pour effectuer cette conversion en console et d’une seule commande :

Tout d’abords, simulation afin de voir quels seront les requêtes SQL envoyées au serveurs :

$ DB="LeNomDeVotreBaseDeDonnées"
$ ENGINE="InnoDB" # Mettre InnoBD pour convertir vers InnoDB. Inversement, mettre MyISAM pour convertir vers MyISAM.
$ echo 'SHOW TABLES;' \
| mysql --defaults-file=/etc/mysql/debian.cnf ${DB} \
| awk '!/^Tables_in_/ {print "ALTER TABLE `"$0"` ENGINE = ${ENGINE};"}' \
| column -t

Si tout semble correct, on exécute les requêtes :

ATTENTION :
Je ne prends aucune responsabilité en cas de dommage à votre base de données.
Veuillez TOUJOURS effectuer des sauvegardes dans le cas ou un problème se produirait lors de l’exécution de cette commande.
Il vous appartient de vérifier que votre base de données est compatible avant d’effectuer cette conversion !

L’exécution de cette commande peut être très longues suivant la taille et le nombre de vos tables !

$ DB="LeNomDeVotreBaseDeDonnées"
$ ENGINE="InnoDB" # Mettre InnoBD pour convertir vers InnoDB. Inversement, mettre MyISAM pour convertir vers MyISAM.
$ echo 'SHOW TABLES;' \
| mysql --defaults-file=/etc/mysql/debian.cnf ${DB} \
| awk '!/^Tables_in_/ {print "ALTER TABLE `"$0"` ENGINE = ${ENGINE};"}' \
| column -t \
| mysql --defaults-file=/etc/mysql/debian.cnf ${DB}

Leave a Comment