relecture [6/n]

This commit is contained in:
gcolpart 2016-12-16 02:09:24 +01:00
parent 57553c86ad
commit ecad098bec

View file

@ -1,5 +1,5 @@
--- ---
title: Howto MySQL : questions fréquentes et erreurs courantes. title: Howto MySQL : questions fréquentes et erreurs courantes
... ...
Pour le guide d'installation et d'usage courant, consultez [/HowtoMySQL](). Pour le guide d'installation et d'usage courant, consultez [/HowtoMySQL]().
@ -147,15 +147,16 @@ Il faut augmenter la valeur de `innodb_buffer_pool_size`.
Si vous obtenez des erreurs de ce type, lors d'un mysqldump par exemple : Si vous obtenez des erreurs de ce type, lors d'un mysqldump par exemple :
~~~ ~~~
mysqldump: Got error: 1016: Can't open file: './db/table.frm' (errno: 24) when using LOCK TABLES mysqldump: Got error: 1016: Can't open file: './foo/bar.frm' (errno: 24) when using LOCK TABLES
mysqldump: Got error: 23: Out of resources when opening file '.\db\table.MYD' (Errcode: 24) when using LOCK TABLES mysqldump: Got error: 23: Out of resources when opening file '.\foo\bar.MYD' (Errcode: 24) when using LOCK TABLES
~~~ ~~~
C'est que votre serveur MySQL tente d'ouvrir trop de fichiers simultanément. C'est que votre serveur MySQL tente d'ouvrir trop de fichiers simultanément.
Pour augmenter le nombre maximal de fichiers pouvant être ouverts, vous pouvez ajuster le paramètre suivant dans la section `[mysqld]` du fichier `my.cnf`, dans la limite permise par votre système d'exploitation : Pour augmenter le nombre maximal de fichiers pouvant être ouverts, vous pouvez ajuster le paramètre suivant(dans la limite permise par votre système d'exploitation) :
~~~ ~~~{.ini}
[mysqld]
open_files_limit = 2048 open_files_limit = 2048
~~~ ~~~
@ -185,7 +186,7 @@ Copier ensuite la définition complète, en remplaçant `CREATE` par `ALTER`, et
Pour lister les vues dans une base : Pour lister les vues dans une base :
~~~ ~~~
mysql> SHOW FULL TABLES IN mydb WHERE TABLE_TYPE LIKE 'VIEW'; mysql> SHOW FULL TABLES IN foo WHERE TABLE_TYPE LIKE 'VIEW';
~~~ ~~~
## Erreur 2020 ## Erreur 2020
@ -325,7 +326,7 @@ pour tromper le moteur :
~~~ ~~~
mysql> create table foo(foo int) ENGINE=InnoDB; mysql> create table foo(foo int) ENGINE=InnoDB;
# /etc/init.d/mysql stop # /etc/init.d/mysql stop
# cp /var/lib/mysql/foo/foo.frm /var/lib/mysql/foo/TABLE.frm # cp /var/lib/mysql/foo/baz.frm /var/lib/mysql/foo/bar.frm
~~~ ~~~
Quelques informations supplémentaires sur : Quelques informations supplémentaires sur :
@ -414,10 +415,10 @@ On le corrigera ainsi :
ERROR 130 (HY000): Incorrect file format '[…]' ERROR 130 (HY000): Incorrect file format '[…]'
~~~ ~~~
Si vous obtenez l'erreur ci-dessus, lors d'un mysqldump par exemple, et que les fichiers `${mysql_datadir}/base/table.{MYD,MYI}` sont vides mais pas le `.frm`, il faut réparer la table comme ceci : Si vous obtenez l'erreur ci-dessus, lors d'un mysqldump par exemple, et que les fichiers `${mysql_datadir}/foo/bar.{MYD,MYI}` sont vides mais pas le `.frm`, il faut réparer la table comme ceci :
~~~ ~~~
# mysqlcheck --auto-repair --check --use-frm <base> <table> # mysqlcheck --auto-repair --check --use-frm foo bar
~~~ ~~~
## Trop de connexions ## Trop de connexions
@ -437,7 +438,7 @@ Pour résoudre la situation :
Got error: 1290: The MySQL server is running with the --secure-file-priv option so it cannot execute this statement when executing 'SELECT INTO OUTFILE' Got error: 1290: The MySQL server is running with the --secure-file-priv option so it cannot execute this statement when executing 'SELECT INTO OUTFILE'
~~~ ~~~
Lors du passage à la version 5.5.53, la valeur par défaut est passée de _vide_ à `/var/lib/mysql-files` ce qui casse les `mysqldump` qui écrivent leurs fichiers ailleurs (malgré des droits systèmes adaptés). Lors du passage à la version 5.5.53, la valeur par défaut est passée de _vide_ à `/var/lib/mysql-files` ce qui casse les *mysqldump* qui écrivent leurs fichiers ailleurs (malgré des droits systèmes adaptés).
Sur Debian, la nouvelle valeur par défaut est `/var/lib/mysql-files`. L'utilisation d'un lien symbolique de cet emplacement vers le dossier réel (par exemple `/home/mysqldump`) ne suffit pas et MySQL continue de refuser le dump. Sur Debian, la nouvelle valeur par défaut est `/var/lib/mysql-files`. L'utilisation d'un lien symbolique de cet emplacement vers le dossier réel (par exemple `/home/mysqldump`) ne suffit pas et MySQL continue de refuser le dump.