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 mysqlDé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/bindans le /etc/profile (su - pour prendre en compte tout de suite) et dans /etc/ld.so.conf
/opt/mysql/libN’oubliez pas de faire prendre en compte par votre systeme les modification que vous venez de faire :
ldconfigPour le chargement des librairies et :
source /etc/profilePour 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
exitSinon 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.gzL’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.sqlSauvegarder une table d’une base :
mysqldump -u login -p -h localhost --opt nom-base nom-table > nom-table-de-nombase.sqlInjecter un .sql :
-D pour la base de donnée qui doit deja exister.
mysql -u root -p -D test < test.sqlInformations 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-repairVisualiser les connexions à la base en temps réel
mysql -e 'SHOW PROCESSLIST' -ppasswordModification 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


