relecture
This commit is contained in:
parent
04bd48d6e5
commit
0be2245d4d
|
@ -32,7 +32,7 @@ mysql>
|
|||
~~~
|
||||
|
||||
Il est ensuite fortement conseillé de créer un administrateur pour la base de données
|
||||
(par exemple "adminmysql", car "root" peut prêter à confusion) :
|
||||
(par exemple « adminmysql », car « root » peut prêter à confusion) :
|
||||
|
||||
~~~
|
||||
mysql> GRANT ALL PRIVILEGES ON *.* TO adminmysql@localhost IDENTIFIED BY 'XXX' WITH GRANT OPTION;
|
||||
|
@ -341,7 +341,7 @@ le service MySQL arrêté :
|
|||
# myisamchk -r -q /var/lib/mysql/BASE/TABLE.MYD
|
||||
~~~
|
||||
|
||||
En cas d'echec (segfault par exemple), on peut tenter :
|
||||
En cas d'échec (segfault par exemple), on peut tenter :
|
||||
|
||||
~~~
|
||||
# myisamchk --safe-recover -v -f --key_buffer_size=512M --sort_buffer_size=512M --read_buffer_size=4M --write_buffer_size=4M /var/lib/mysql/BASE/TABLE.MYD
|
||||
|
@ -429,7 +429,7 @@ mysqldump -t <base> <table> --where="my_id='66666666'"
|
|||
|
||||
Ce qui permet de réinjecter des données résultantes d'un `SELECT * FROM base.table WHERE my_id='66666666'`.
|
||||
|
||||
Il est évidement possible de faire toutes ces opération sur une instance en
|
||||
Il est évidement possible de faire toutes ces opérations sur une instance en
|
||||
précisant son port avec l'option `--port` (valable pour mysqldump et mysql).
|
||||
|
||||
Pour obtenir une liste des utilisateurs mysql, on peut utiliser cette fonction (glanée sur [serverfault](http://serverfault.com/questions/8860/how-can-i-export-the-privileges-from-mysql-and-then-import-to-a-new-server/)) :
|
||||
|
@ -478,7 +478,7 @@ done
|
|||
**Note 1** : Attention, l'utilisateur MySQL doit avoir le droit de lecture sur les fichiers .txt
|
||||
Se positionner dans un répertoire où mysql a les droits (mysqltmp - /home/mysqltmp par ex).
|
||||
|
||||
**Note 2** : Si vous n'avez pas toutes vos tables en utf8 (par exemple du `CHARSET=LATIN1`), ce n'est pas bien… et vous devrez pour la peine adapter le script (en détectant le charset utilisé avec "file" si nécessaire)
|
||||
**Note 2** : Si vous n'avez pas toutes vos tables en utf8 (par exemple du `CHARSET=LATIN1`), ce n'est pas bien… et vous devrez pour la peine adapter le script (en détectant le charset utilisé avec « file » si nécessaire)
|
||||
|
||||
|
||||
Il est possible d'exporter le contenu d'une base au format CSV :
|
||||
|
@ -592,7 +592,7 @@ Par défaut, MySQL stocke chaque requête en écriture dans des fichiers appelé
|
|||
|
||||
### Configuration
|
||||
|
||||
Par défaut les binlogs sont conservés sur 10 jours, avec des fichiers n'excédant pas 100 Mo :
|
||||
Par défaut les binlogs sont conservés sur 10 jours, avec des fichiers n'excédant pas 100 Mo :
|
||||
|
||||
~~~{.ini}
|
||||
#log_bin = /var/log/mysql/mysql-bin.log
|
||||
|
@ -610,7 +610,7 @@ http://dev.mysql.com/doc/refman/5.5/en/binary-log-setting.html
|
|||
On peut choisir 3 types de format pour les binlogs :
|
||||
|
||||
* **statement** : les requêtes INSERT / UPDATE sont conservées
|
||||
* **row** : les modifications de chaque ligne sont conservées (via une sorte de code "binaire" propre à MySQL)
|
||||
* **row** : les modifications de chaque ligne sont conservées (via une sorte de code « binaire » propre à MySQL)
|
||||
* **mixed** : en mode statement… sauf dans certains cas où cela passe en mode row
|
||||
|
||||
Avantages et inconvénients :
|
||||
|
@ -677,7 +677,7 @@ On pourra ainsi injecter le contenu d'un binlog dans une base… tout simplement
|
|||
|
||||
### Log des requêtes lentes
|
||||
|
||||
Pour débugger les applications lentes, c'est une fonctionnalité intéressante de trouver quel requête est longue.
|
||||
Pour débugger les applications lentes, c'est une fonctionnalité intéressante de trouver quelle requête est longue.
|
||||
Pour cela on peut spécifier quand une requête est considérée comme longue, le chemin où stocker les requêtes, et l'activation des logs.
|
||||
|
||||
~~~{.ini}
|
||||
|
@ -712,7 +712,7 @@ Créez un utilisateur pour l'instance (il doit avoir un shell valide comme `/bin
|
|||
useradd mysql-INSTANCE_NAME
|
||||
~~~
|
||||
|
||||
Créez ensuite le "datadir" :
|
||||
Créez ensuite le « datadir » :
|
||||
|
||||
~~~
|
||||
# mysql_install_db --datadir=/home/mysql/INSTANCE_NAME
|
||||
|
@ -768,9 +768,9 @@ Pour voir l'état des instances :
|
|||
# mysqld_multi report
|
||||
~~~
|
||||
|
||||
Et pour stopper une instance, on évite la commande "mysqld_multi stop 1" qui n'est que rarement fiable et peut laisser l'instance dans un état incorrect, difficile à récupérer.
|
||||
Et pour stopper une instance, on évite la commande « mysqld_multi stop 1 » qui n'est que rarement fiable et peut laisser l'instance dans un état incorrect, difficile à récupérer.
|
||||
|
||||
On préfère passer la commande "shutdown" en interne :
|
||||
On préfère passer la commande « shutdown » en interne :
|
||||
|
||||
~~~
|
||||
# mysqladmin -P3307 shutdown
|
||||
|
@ -781,7 +781,7 @@ On préfère passer la commande "shutdown" en interne :
|
|||
### Nettoyage
|
||||
|
||||
Si le mysqld principal n'est pas utilisé, on désactivera le script d'init.d /etc/init.d/mysql (en ajoutant `exit 0`
|
||||
au début du script ) et on pourra se créer un script `/etc/init.d/mysql-instance` du type :
|
||||
au début du script) et on pourra se créer un script `/etc/init.d/mysql-instance` du type :
|
||||
|
||||
~~~{.bash}
|
||||
#!/bin/sh
|
||||
|
|
Loading…
Reference in a new issue