Mise en place d'un serveur de base de données MySQL 5
« MySQL est un serveur de bases de données relationnelles SQL développé dans un souci de performances élevées. Il est multi-thread, robuste et multi-utilisateurs. »
Wikipédia
Nous allons ici mettre en place un serveur MySQL version 5 (5.0.22 dans cet article), et ceci de manière simple, efficace et très légère (sans installeur ni pack).
En effet MySQL n'a besoin que de quelques fichiers pour fonctionner...
Cet article ne remplace en rien la documentation officielle de MySQL : http://dev.mysql.com/doc/refman/5.0/fr/.
Sommaire
- Conventions
- Source de données nécessaires
- Outils optionnels
- 1) Mise en place de l'arborescence sur le serveur
- 2) Mise en place du service serveur MySQL
- 3) Connexion rapide avec phpMyAdmin
- 4) Connexion rapide avec Navicat MySQL
Conventions
- Le répertoire de base est C:\Program Files\Kiwi\Server
- Le répertoire des données (contenant les bases) est S:\bases
- Le fichier de configuration est S:\conf\mysql.ini
- L’adresse IP du serveur est 192.168.0.1 et a comme nom : srvkiwi.nirvana.com
- Les commandes indiquées dans ce tutoriel se tapent sous la console (cmd) et peuvent se trouver sur plusieurs lignes…
Source de données nécessaires :
-
Package MySQL 5.0.22 sans programme d'installation
http://mirrors.ircam.fr/pub/mysql/downloads/mysql/5.0.html Version "Without installer (unzip in C:\)"En particulier ces fichiers (depuis le répertoire
mysql-5.0.22-win32de l’archive) :bin/mysqld-nt.exebin/mysql.exebin/libmySQL.dllshare/french/errmsg.sys
Ce répertoire :
data/mysql
› Pour plus de facilités, le contenu essentiel à la mise en place du serveur MySQL à été regroupé dans une petite archive : mini_mysql_5.0.22.rar
Outils optionnels :
-
phpMyAdmin (permet de gérer le serveur MySQL, ses tables, données, etc.. à distance par une interface Web)
http://www.phpmyadmin.net/ -
Navicat [shareware] (logiciel permettant de gérer le serveur, transférer, sauvegarder, etc...)
http://www.navicat.com/
1) Mise en place de l'arborescence sur le serveur
-
Mise en place des fichiers binaires
Soyons rapide et efficace, nous allons tout placer dans
C:\Program Files\Kiwi\Server:mysqld-nt.exemysql.exelibmySQL.dllerrmsg.sys
Résultat :

-
Mise en place du système de bases
Copier le répertoire
mysqlde l'archive dans le répertoireS:\bases\Résultat :

Ce répertoire contiendra les bases de données du serveur MySQL, il est judicieux de le placer sur un volume au temps d'accès rapide
-
Mise en place du fichier de configuration
Créer un fichier texte nommé :
mysql.inidans le répertoireS:\conf\avec ce contenu :[mysqld] basedir="C:/Program Files/Kiwi/Server" datadir="S:/bases" language="C:/Program Files/Kiwi/Server" skip-innodb skip-external-locking set-variable = max_connections=200 set-variable = read_buffer_size=1M set-variable = sort_buffer_size=1M default-character-set=latin1
2) Mise en place du service serveur MySQL
Il ne reste qu'à installer le service et configurer un mot de passe root !
Installation du service
En ligne de commande éxecuter ces instructions :
cd %ProgramFiles%\Kiwi\Server
mysqld-nt.exe --install "Serveur MySQL 5.0.22" --defaults-file="S:\conf\mysql.ini"
sc start "Serveur MySQL 5.0.22"Résultat :
Service successfully installed. ... SERVICE_NAME: Serveur MySQL 5.0.22 TYPE : 10 WIN32_OWN_PROCESS STATE : 4 RUNNING (STOPPABLE, PAUSABLE, ACCEPTS_SHUTDOWN) WIN32_EXIT_CODE : 0 (0x0) SERVICE_EXIT_CODE : 0 (0x0) CHECKPOINT : 0x0 WAIT_HINT : 0x0MySQL utilise par défaut le port 3306 en TCP
Pour gérer ce serveur à distance, il est important d'autoriser ce port sur au moins une interface.
phpMyAdmin gère majoritairement le serveur de manière locale (localhost:3306), il n'est pas obligatoire d'autoriser ce port pour une utilisation où l'on autorise personne à se connecter depuis l'extérieur.
Test du serveur MySQL et configuration du mot de passe root
Toujours en ligne de commande (hé oui !) :
mysql --user=rootRésultat, l'interface console de gestion MySQL :
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 to server version: 5.0.22-community-nt Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>
Nous pouvons maintenant y rentrer nos commandes SQL...
SHOW DATABASES;Résultat :
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | +--------------------+ 2 rows in set (0.00 sec)
Changeons maintenant le mot de passe root :
USE mysql;
SET password = PASSWORD('motdepasse');Rechargeons les privilèges et quittons
FLUSH PRIVILEGES;
QUIT
3) Connexion rapide avec phpMyAdmin
Cette partie porte sur la branche 2.7.x de phpMyAdmin, je ne suis pas encore adepte de leurs nouvelles versions
Copier le répertoire
phpMyAdmin-2.7.0-pl2(ou autre version 2.7.x) sur le serveur WebCopier le fichier
config.default.phpenconfig.inc.phpModifier ce même fichier
config.inc.phppour remplacer les valeurs par défaut par celle ci :$cfg['PmaNoRelation_DisableWarning'] = TRUE; $cfg['Servers'][$i]['compress'] = TRUE; // Use compressed protocol for the MySQL connection $cfg['Servers'][$i]['auth_type'] = 'http'; // Authentication method (config, http or cookie based)? $cfg['Servers'][$i]['user'] = ''; // MySQL user $cfg['DefaultLang'] = 'fr-iso-8859-1'; $cfg['ThemeDefault'] = 'darkblue_orange'; // il est quand même plus joli ^^
Nous pouvons maintenant ouvrir phpMyAdmin
http://srvkiwi.nirvana.com/phpMyAdmin-2.7.0-pl2/Authentification :

Résultat final :

phpMyAdmin est maintenant fonctionnel
Il peut être intéressant de faire un "grand ménage" dans les répertoires de phpMyAdmin qui contiennent bon nombre de librairies, qui ne serviront pas, afin de l'alléger.
4) Connexion rapide avec Navicat MySQL
Navicat est très simple d'emploi. Il regroupe, à mon avis, toutes les fonctions que l'on peut attendre d'un outil SQL (hormis la gratuité :/)
Il faut en premier lieu créer une connection au serveur :

On rentre quelques paramêtres :

A savoir que l'on peut créer plusieurs connections vers le même serveur avec différents comptes utilisateur...
Résultat final (exemple) :

Navicat est maintenant prêt à être utilisé !

