18
0
Fork 0

relecture [6/n]

This commit is contained in:
gcolpart 2016-12-16 02:09:24 +01:00
parent 57553c86ad
commit ecad098bec
1 changed files with 11 additions and 10 deletions

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]().
@ -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 <base> <table>
# 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.