mysql

Ce module permet de lancer un serveur mysql.

Packages debian nécessaires : mysql-server, et mysql-client

Module pkgi nécessaires : logrotate (facultatif)

Variables spécifiques pkgi :

  • APPNAME_MYSQL_PORT : port d'écoute du serveur mysql
  • APPNAME_MYSQL_LISTEN_INTERFACE : interface réseau d'écoute du démon (0.0.0.0 signifie qu'on écoute sur toutes les interfaces réseaux)
  • APPNAME_MYSQL_DEFAULT_DB : nom de la base de données qui sera crée. Un utilisateur du même nom avec les droits restreint uniquement à cette base sera également créé par pkgi (disponible depuis pkgi 3.16)
  • APPNAME_MYSQL_AUTOBACKUP : si réglé sur yes, la base mysql sera sauvegardée automatiquement par crontab (disponible depuis la version 3.9 de pkgi)

Structure du module :

  • etc/init.d/mysql : lanceur du démon
  • etc/mysql/my.cnf : configuration par défaut
  • etc/mysql/conf.d/ : configuration utilisateur (placez ici les directives permettant de surcharger la config par défaut de mysql)
  • etc/logrotate.d/mysql-server : config de logrotate pour archiver les logs générés par mysql
  • var/log/mysql/ : ici se trouvent les logs du serveur mysql
  • var/lib/mysql/ : ici se trouvent les données binaires de la base de données
  • usr/bin/mysql : permet de vous connecter à votre base de données sans avoir a taper de mdp.
  • usr/bin/mysqldump : permet de faire un dump de votre base de données sans avoir a taper de mdp.
  • bin/pkgi-mysqltools : boite à outils spécifique pkgi pour effectuer divers opérations sur la base (cf section suivante)

Script pkgi-mysqltools

Il est vivement conseillé pour des raisons de sécurité d'indiquer un mot de passe root sur les serveur mysql de production avec la commande suivante

bin/pkgi-mysqltools -root-password XXX

(remplacez XXX par votre mot de passe)

D'autres outils sont disponibles comme la possibilité de faire un dump de votre base ou de donner des droits d'accès par IP à votre serveur. Voici la liste complète :

   -q  | -query                           - Permet de lancer la commande mysql (placez vos paramètres à la suite)
   -i  | -init                            - Initialisation de la base
   -ai | -appli-init                      - Initialisation d'une base de données applicative et d'un utilisateur dédié à cette base
   -rp | -root-password                   - Réglage du mot de passe root (passé en paramètre)
   -ap | -appli-password                  - Réglage du mot de passe de l'utilisateur de l'application (passé en paramètre)
   -d  | -dump                            - Permet de lancer la commande mysqldump (placez vos parametres à la suite)
   -b  | -backup                          - Équivalent de dump mais sans dumper les tables systèmes
   -bc | -backup-cron [install|uninstall] - (Dés)installation d'un script de sauvegarde mysql quotidien en crontab
   -mr | -makeroot                        - Permet de donner les droits de connexion à un hostname passé en paramètre
   -t  | -copyto                          - Copie d'une ou de toutes les bases sur un autre serveur 
   -f  | -copyfrom                        - Récupération d'une ou de toutes les bases venant d'un autre serveur

Depuis la version 2.33 il n'est plus nécessaire de lancer la commande bin/pkgi-mysqltools init, pkgi s'en charge pour vous grâce à un script postinst.

Script pkgi-mysqlbackup

Sans argument, ce script fait un dump dans un fichier compressé dont le nom est dump-nomdujourdelasemaine.sql.gz, ce qui fait qu'on peut l'appeler chaque jour sans dépasser 7 sauvegarde.

De plus, un lien dump-latest.sql.gz est créé vers le fichier du dernier dump.

Comment optimiser "à la louche" votre serveur mysql ?

Depuis pkgi 2.32, la variable APPNAME_OPTIMIZATION vous propose trois grands profils qui sont supportés par ce module mysql et un profil particulier :

  • normal : pour une utilisation minimale de ressource par mysql (< 64 Mo).
  • big : pour un système possédant au moins 512 Mo de RAM dédié au serveur MySQL.
  • huge : pour un système possèdant de 1 Go à 2 Go de RAM dédié au serveur MySQL.

Et un profil spécifique à mysql :

  • innodb-heavy-4G : pour les gros systèmes possédant 4 Go de RAM qui font tourner principalement MySQL avec uniquement des tables InnoDB et qui exécute des requêtes complexes avec peu de connexions

Assurez vous que votre système est architecturé en conséquence pour utiliser ces options, en particulier innodb-heavy-4G

Configurer un phpmyadmin

Le plus simple est d'utiliser le module phpmyadmin qui permet d'installer et configurer un phpmyadmin au sein même de votre application.

 
modules/mysql.txt · Dernière modification: 2012/05/08 22:00 par kerphi
Recent changes RSS feed Powered by PHP Hosted on Debian Driven by DokuWiki Deployed by Pkgi