Vous êtes ici : Accueil / Debian GNU/Linux / Serveurs / MySQL / Simplifier l'administration d'un serveur MySQL avec mysql-tools

Simplifier l'administration d'un serveur MySQL avec mysql-tools

Par Pierre-Yves Landuré Dernière modification 24/07/2016 10:40

mysql-tools est un script créé dans le but de simplifier et d'automatiser l'administration courante d'un serveur MySQL. Ce guide présente comment le mettre en place et donne quelques exemples d'utilisation.

Ce guide est testé sur:

  • Debian 6.0 Squeeze
  • Debian 7.0 Wheezy
  • Ubuntu 10.04 Lucid Lynx
  • Ubuntu 10.10 Natty Narwal

Prérequis

Ce guide recommande:

Installation

Détectez le proxy de commande (command ou sudo):

cmdProxy='command'
command type -f 'sudo' &>'/dev/null' && cmdProxy='sudo'

Installez le client MySQL et le générateur de mots de passe apg:

clientDeb='mysql-client'
[ -n "$(command apt-cache pkgnames 'mariadb-client')" ] && clientDeb='mariadb-client'
${cmdProxy} apt-get install "${clientDeb}" 'apg'

Installez le script mysql-tools:

${cmdProxy} wget "https://raw.github.com/biapy/howto.biapy.com/master/mysql/mysql-tools" \
    --quiet --no-check-certificate --output-document="/usr/local/bin/mysql-tools"
${cmdProxy} chmod +x "/usr/local/bin/mysql-tools"

Remarque : Cet outil est encore en cours d'élaboration, ses fonctionnalités seront améliorées petit à petit.

Présentation de mysql-tools

Convention de nommage

Voici une proposition de convention de nommage des bases de données.

La décomposition du nom de base de données "ttrss_rss.domaine.com" est:

  • ttrss_ : Code de l'application hébergée (ici, Tiny Tiny RSS). Permet de regrouper les bases de données par application dans PHPMyAdmin.
  • rss.domaine.com : Nom de domaine où est hébergée l'application utilisant la base de données.

Le nom d'utilisateur pour la base "ttrss_rss.domaine.com" est "t_rss.domaine.com" ou :

  • t_ : Première lettre du code d'application (ici t_ est la première lettre de ttrss_).
  • rss.domaine.com : Nom de domaine où est hébergée l'application utilisant la base de données.

Le nom d'utilisateur est tronqué aux 17 premiers caractères si le nom de domaine est trop long.

Utilisation

Créer la base de données "DATABASE_NAME" et l'utilisateur "database_name":

# mysql-tools --create="DATABASE_NAME"

Créer la base de données "DATABASE_NAME" avec accès depuis host1 et host2 sur le réseau (en plus de localhost):

# mysql-tools --host="host1" --host="host2" --create="DATABASE_NAME"

Créer un utilisateur sans aucun privilèges (pour Nagios par exemple):

# mysql-tools --adduser="user_name"

Supprimer un utilisateur:

# mysql-tools --deluser="user_name"

Supprimer toutes les tables et vues de la base de données "DATABASE_NAME":

# mysql-tools --empty="DATABASE_NAME"

Supprimer une base de données et son utilisateur dédié:

# mysql-tools --drop="DATABASE_NAME"

Obtenir de l'aide sur l'utilisation avancée de l'outil:

# mysql-tools --help

Remerciements