« Le système d'exploitation GNU-Linux/La base de données MySQL » : différence entre les versions

Contenu supprimé Contenu ajouté
→‎mysqlcheck : : petites corrections + mise en page
→‎myisamchk : : petites corrections + mise en page
Ligne 364 :
=== myisamchk ===
 
EnLa cascommande de'''myisamchk''' permet la restauration d'une table ou plusieurs tables endommagées à la suite de crashscrash répétés du démon mysqld.
* '''Cas d'utilisation:'''
En cas de restauration d'une table ou plusieurs tables endommagées à la suite de crashs répétés du démon mysqld.
 
<BR>'''{{rouge|Attention}}''' : {{rouge|'''myisamchk''' intervient directement sur les fichiers, il se passe de '''mysqld''' contrairement à '''mysqlcheck''' !}}
'''{{rouge|Attention}}'''
<BR>{{rouge|'''myisamchk''' intervient directement sur les fichiers, il se passe de '''mysqld''' contrairement à '''mysqlcheck''' !}}
 
'''Quelques précautions d'usage:''' : Si vous utilisez {{bleu|myisamchk}} pour réparer ou optimiser les tables, vous devez toujours vous assurer que {{vert|mysqld}} n'utilise pas cette table (ce qui s'applique aussi si vous utilisez {{vert|--skip-external-locking}} ). Si vous n'éteignez pas le serveur {{bleu|mysqld}} , vous devez au moins utiliser {{bleu|mysqladmin flush-tables}} avant de lancer {{bleu|myisamchk}}.
* '''Quelques précautions d'usage:'''
 
'''{{rouge|Attention}}''' : '''Vos tables peuvent être corrompues si le serveur {{rouge|mysqld}} et {{bleu|myisamchk}} travaillent dans une même table simultanément.'''
Si vous utilisez {{bleu|myisamchk}} pour réparer ou optimiser les tables, vous devez toujours vous assurer que {{vert|mysqld}} n'utilise pas cette table (ce qui s'applique aussi si vous utilisez {{vert|--skip-external-locking}} ). Si vous n'éteignez pas le serveur {{bleu|mysqld}} , vous devez au moins utiliser {{bleu|mysqladmin flush-tables}} avant de lancer {{bleu|myisamchk}}.
 
'''Vos tables peuvent être corrompues si le serveur {{rouge|mysqld}} et {{bleu|myisamchk}} travaillent dans une même table simultanément.'''
 
* '''Vérifier la cohérence d'une table:'''
 
On indique à '''myisamchk''' les tables à vérifier en désignant les fichiers index '''MYI''' :
Vous pouvez spécifier un ou plusieurs noms de tables à myisamchk.
 
# myisamchk /chemin/bases/mysql/'''{{bleu|nom_de_la_bd}}'''/'''{{bleu|nom_de_table}}'''.MYI
Vous pouvez aussi spécifier un nom sous la forme d'un fichier d'index (avec l'option .MYI), qui vous permettra de spécifier toutes les tables dans un dossier en utilisant le schéma *.MYI.
 
On peut également spécifier toutes les tables comme ceci :
Par exemple, si vous êtes dans le dossier de données, vous pouvez spécifier une table :
 
'''{{bleu| # myisamchk /chemin/bases/mysql/nombase'''{{bleu|nom_de_la_bd}}'''/nom_de_table.MYI'''{{bleu|*}}'''.MYI
 
VousVoire pouvezcarrément également spécifiervérifier toutes les tables dansde letoutes dossier commeles cecibases :
 
'''{{bleu| # myisamchk /chemin/bases/mysql/nombase'''{{bleu|*}}'''/'''{{bleu|*.MYI}}'''.MYI
 
Cette commande trouvera 99.99% de toutes les erreurs. Ce qu'elle ne peut pas découvrir comme erreurs, sont celles qui impliquent uniquement le fichier de données (ce qui est très inhabituel). Si vous voulez vérifier une table, vous devriez utiliser l'utilitaire myisamchk sans les options ou avec les options -s ou --silent .
 
La commande affiche un rapport d'analyse, et si tout est OK, ne signale pas d'erreur :
root@pataserv1:~# myisamchk /var/lib/mysql/ampache/album.MYI
 
root@pataserv1:~ # myisamchk /var/lib/mysql/ampache/album.MYI
Checking MyISAM file: /var/lib/mysql/ampache/album.MYI
Ligne 405 ⟶ 403 :
- check data record references index: 4
- check record links
 
Cette commande trouvera 99.99% de toutes les erreurs. Ce qu'elleElle ne peut pastoutefois découvrirdétecter commeles erreurs, sont celles qui impliquent uniquement le fichier de données (ce qui est très inhabituel). Si vous voulez vérifier une table, vous devriez utiliser l'utilitaire myisamchk sans les options ou avec les options -s ou --silent .
 
Si vous voulez uniquement vérifier une table sans que la commande produise un affichage, il faut utiliser l'option '''-s''' (ou '''--silent''').
 
=== mysql_setpermission ===