diff --git a/MySQL/HowtoTroubleshooting.md b/MySQL/HowtoTroubleshooting.md index c5e50f43..d81c8f59 100644 --- a/MySQL/HowtoTroubleshooting.md +++ b/MySQL/HowtoTroubleshooting.md @@ -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](). @@ -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 : ~~~ -mysqldump: Got error: 1016: Can't open file: './db/table.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: 1016: Can't open file: './foo/bar.frm' (errno: 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. -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 ~~~ @@ -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 : ~~~ -mysql> SHOW FULL TABLES IN mydb WHERE TABLE_TYPE LIKE 'VIEW'; +mysql> SHOW FULL TABLES IN foo WHERE TABLE_TYPE LIKE 'VIEW'; ~~~ ## Erreur 2020 @@ -325,7 +326,7 @@ pour tromper le moteur : ~~~ mysql> create table foo(foo int) ENGINE=InnoDB; # /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 : @@ -414,10 +415,10 @@ On le corrigera ainsi : 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 +# mysqlcheck --auto-repair --check --use-frm foo bar ~~~ ## 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' ~~~ -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.