Configuration Installation et administration de mysql

dimanche 23 août 2009
par Speed O pc
popularité : 11%

Installation et administration d’un serveur mysql

Installation à la main :

Installation serveur mysql plus init mot de passé root :

Téléchargement :

http://dev.mysql.com/downloads/mysq...

Linux (non RPM packages) downloads

Désarchivez le dans /opt/

adduser mysql
cd /opt
cd mysql-version
chown -R mysql .
chgrp -R mysql .
scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql data
bin/mysqld_safe --user=mysql &
cd /opt
ln -s mysql-version mysql

Définir un Password root :

mysqladmin -u root password "password"

ou après si vous voulez le changer :

use mysql;

select * from user;

UPDATE mysql.user SET Password = PASSWORD('password') WHERE User = 'root';

FLUSH PRIVILEGES;

Envirronement :

Important !

Mettre :

pathmunge /opt/mysql/bin

dans le /etc/profile (su - pour prendre en compte tout de suite) et dans /etc/ld.so.conf

/opt/mysql/lib

N’oubliez pas de faire prendre en compte par votre systeme les modification que vous venez de faire :

ldconfig

Pour le chargement des librairies et :

source /etc/profile

Pour les binaires mysql dans le PATH.

init.d :

#!/bin/bash
PATH=/sbin:/bin:/usr/bin:/usr/sbin:/opt/mysql/bin
case "$1" in
   start)
       cd /opt/mysql
       ./bin/mysqld_safe --user=mysql &
       ;;
   stop)
       cd /opt/mysql
       killall mysqld &
       ;;
   *)
       echo $"Usage: $0 {start|stop}"
       RETVAL=1
esac
exit

Sinon vous en avez un plus complet ici

Pour configurer et sécuriser votre mysql taper :

bin/mysql_secure_installation

Création d’une base et de son utilisateur

création de la base :

CREATE DATABASE nom_base DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

création de l’utilisateur :

GRANT ALL PRIVILEGES ON nom_base.* TO 'utilisateur'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

recharger les droits :

FLUSH PRIVILEGES;

Sauvegarder toutes vos bases de données dans un fichier .sql :

mysqldump -u root -ppassword --default-character-set=latin1 -f --all-databases | bzip2 > /data/mysql-dump/mysql-dump-all-base.sql.gz

L’option latin1 pour pas avoir de soucis d’accent en cas de ré-import, bzip2 pour que le fichier prenne moins de place, biensur ces deux options sont facultatives (bzip2 -d pour le décompresser), par contre le -f est important à mon avis (si mysqldump rencontre une erreur il continu quand meme.

Sauvegarder une base de donnée dans un fichier .sql :

mysqldump -u root -p -h localhost --opt nom-base > nom-base.sql

Sauvegarder une table d’une base :

mysqldump -u login -p -h localhost --opt nom-base nom-table > nom-table-de-nombase.sql

Injecter un .sql :

-D pour la base de donnée qui doit deja exister.
mysql -u root -p -D test < test.sql

Informations importantes d’un serveur MySQL :

Pour l’utiliser, il suffit de vous connecter en root au serveur et de lancer la commande suivante :

mysql> \s
--------------
   mysql Ver 14.12 Distrib 5.0.51a, for redhat-linux-gnu (i386) using readline 5.0

   Connection id: 2
   Current database:
   Current user: root@localhost
   SSL: Not in use
   Current pager: stdout
   Using outfile: ''
   Using delimiter: ;
   Server version: 5.0.51a Source distribution
   Protocol version: 10
   Connection: Localhost via UNIX socket
   Server characterset: utf8
   Db characterset: utf8
   Client characterset: latin1
   Conn. characterset: latin1
   UNIX socket: /var/lib/mysql/mysql.sock
   Uptime: 12 sec

   Threads: 1 Questions: 5 Slow queries: 0 Opens: 12 Flush tables: 1 Open tables: 6 Queries per second avg: 0.417
   --------------

La commande nous permet donc de voir rapidement l’uptime du serveur, sa version, son encodage, le nombre de slow queries, le nombre de tables ouvertes ... etc...

Problème sur vos données : tables et bases

Moi j’utilise c’est commande de temps en temps, vous avez aussi la possibilité de la mettre dans une tache cron :

./mysqlcheck -u root -ppassword --all-databases --auto-repair

Visualiser les connexions à la base en temps réel

mysql -e 'SHOW PROCESSLIST' -ppassword

Modification de champs/valeurs en ligne de commande :

  • show databases ; (voir toutes les bases)
  • use plop ; (utiliser la base plop)
  • show tables ; (voir les tables de plop)
  • select * from user ; (voir le contenu de la table user)
  • update user set Host=’SRV-WWW’ where Host=’191.43.120.2’ ; (changer la valeur du champ Host de 191.43.120.2 à SRV-WWW)
  • insert into user values(’SRV-WWW2’,’root’,’*C4890413824’,’Y’,’Y’,’Y’,,,0,0) ; (rajouter un champ avec les valeurs entre parenthèse)

Ajout d’un fichier de configuration my.cnf :

Avec un script init un peu plus fournit que celui utiliser dans cet article vous arez la possibilité de mettre en place un fichier de configuration my.cnf pour votre serveur mysql. Pour le script d’init vous le trouverez dans cet article.

Maintenant vous n’avez plus qu’a créer un fichier my.cnf dans /etc/ avec comme contenu :

##my.cnf
[mysqld]
datadir=/opt/mysql/data
socket=/tmp/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/opt/mysql/data/hostname.pid

Navigation

Articles de la rubrique

Statistiques

Dernière mise à jour

vendredi 26 février 2010

Publication

163 Articles
4 Albums photo
4 Brèves
47 Sites Web
4 Auteurs

Visites

35 aujourd'hui
36 hier
47616 depuis le début
7 visiteurs actuellement connectés