Installation MySQL Sous Windows/Linux


Dans le cas d'une installation de MySQL, si vous ne l'installez pas sur C:\MySQL
vous devez :
-- soit créer un fichier my.ini dans le dossier windows ( le service check la variable %windir% )
-- soit créer un fichier my.cnf dans ce dernier, spécifiez où se trouve le répertoire MySQL ansi que les data comme ceci (dans le cas d'une installation sur D:\MySQL) :

[mysql]
basedir=D:/MySQL
datadir=D:/MySQL/Data


Important :
-- Vous devez utilisez des slahs OU des doubles anti-slash mais surtout pas des anti-slashs seuls.
-- Au démarrage, le site lit en premier le my.ini du répertoire windows puis C:\my.cnf et prends la configuration de ce dernier.
Si votre fichier my.ini n'est bon mais pas le fichier my.cnf le service ne démarrera pas.

Installation MySQL Sous Debian

Comme d'habitude, apt-get install mysql-server-4.0 ou mysql-server-4.1 ou mysql-server-5.0 ( selon la version qui vous interresse ).
Par défaut sur Debian, MySQL n'écoute pas sur le réseau, pour changer cela:
éditez le fichier /etc/mysql/my.cnf et décommentez la ligne skip-networking et un petit /etc/init.d/mysql restart pour que cela soit pris en compte.

Commandes Mysql

Changer le mot de passe root ( à faire tout de suite après l'installation de MySQL ):
mysqladmin -u root password
nouveaupass
ou SET PASSWORD FOR root@'localhost' = PASSWORD('nouveau_mot');

Pour que l'accès root puisse se faire à de n'importe quelle machine :
UPDATE mysql.user SET host='%' WHERE Host='localhost';

Pour se connecter à mysql et à la database:
- mysql -u user base -p
puis connect database; pour se connecter à la base.

Donner tous les droits à un user sur une base :
grant all privileges on Database.tables to login@'ip' identified by 'password' with grant option;
grant all privileges on Database.* to login@'%' identified by 'password' with grant option;

Supprimer les droits à un user sur une base :
revoke all privieges on database from user;

pour importer une base qui a été exportée avec mysqldump

mysql -u root -p -B database < backup-file.sql
ou
mysql -e "source /patch-to-backup/backup-file.sql" database

Script de sauvegarde de base MySQL

Exemple de script de sauvegarde de base MySQL à chaud pour Linux/Windows.

Sous Linux
#!/bin/sh
# Script de sauvegarde des bases mysql
# Ce script fait un dump de la base MySQL et tar.gzip le fichier dumpe
#
# Syntaxe: save_mysql.sh Nomdelamachine Nom_de_la_base_de_données user mot_de_passe
# 18/03/04 -- par tbd
#
 
# --- Definition des variables
date=`date +'%H:%M:%S %d/%m/%Y'`
file=`date -I`
repTrav=/OuLeFichierDumpeVa
repSave=/OuLeFichierTarVa
Host=$1
baseSave="$2"
user="$3"
password="$4"
 
echo Sauvegarde journaliere $2
 
# --- Deplacement des fichier
rm $repSave/$baseSave.tar.gz.4
mv $repSave/$baseSave.tar.gz.3 $repSave/$baseSave.tar.4
mv $repSave/$baseSave.tar.gz.2 $repSave/$baseSave.tar.3
mv $repSave/$baseSave.tar.gz.1 $repSave/$baseSave.tar.2
mv $repSave/$baseSave.tar.gz   $repSave/$baseSave.tar.1
 
# --- Sauvegarde
mysqldump --opt -h $1 -u $user --password=$password $baseSave > $repTrav/$baseSave-$file.sql
cd $repTrav
tar -czf $repSave/$baseSave.tar.gz $baseSave-$file.sql
chmod 600 $repSave/$baseSave.tar.gz
rm $repTrav/$baseSave-$file.sql
 
# --- On fait un petit rapport
echo $date -- Sauvegarde journaliere de $2 >> $repSave/rapport.log


Sous Windows
Vous devez créer un .cmd qui lancera ce script que vous pouvez par exemple mettre en tâches planifiées. Ce fichier cmd doit contenir les paramètres suivants :
@Echo off
Chemin_du_fichier_cmd/nom_du_cmd host_du_serveur_mysql database user motdepasse


Script de sauvegarde :
@Echo off
setlocal
 
rem Ce cmd a pour but de sauvegarder des base mysql en effectuant un dump de la database.
rem la syntaxe est : mysql_dump.cmd ip_serveur_mysql database user password
 
rem Changez les chemins de mysqldump et la destination des sauvegardes
set chemin_mysql=c:\MySQL
set destination=D:\savemysql
 
 
rem ** NE PAS TOUCHER A PARTIR d'ICI **
rem ----------------------------------------------------
echo demarrage de la sauvegarde pour la base %2 sur %1
 
rem On décalle toutes les sauvegardes pour creer %2.sql
del /F /Q %destination%\%2_05.sql
move %destination%\%2_04.sql %destination%\%2_05.sql
move %destination%\%2_03.sql %destination%\%2_04.sql
move %destination%\%2_02.sql %destination%\%2_03.sql
move %destination%\%2.sql %destination%\%2_02.sql
 
rem On lance la sauvegarde avec les paramètres
%chemin_mysql%\bin\mysqldump -h %1 --user=%3 --password=%4 -B %2 > %destination%\%2.sql
rem ----------------------------------------------------


Guide Officiel de l'installation Mysql
Importer/Exporter une base de données MySQL avec MySQL Administrator

Retour à la page d'accueil