Bonjour à tous,

Je suis sur un problème récurrent auquel je ne trouve pas de solutions
Je viens donc tenter ma chance ici! (en espérant que je sois bien au bon endroit )

En fait, j'ai un script PHP chargé (en gros) de transférer des données (en y appliquant certaines règles et certains traitements) d'une base sur un serveur X, à une autre base sur un serveur Y (le script étant sur un serveur Z ).

Les bases sont en mysql et j'utilise PDO et des requêtes préparées (pour les requêtes appelées régulièrement).

Le script fonctionne très bien 8 fois sur 10, mais de temps en temps lors de requêtes sur la base cible (serveur Y), je me prends l'erreur suivante "Lost connection to MySQL server during query", suivi logiquement d'une longue suite de "MySQL server gone away" pour toutes les requêtes suivantes.

En général la première erreur apparait sur une requête préparée (un INSERT en général mais ça peut varier).

J'ai essayé pas mal de trucs, mais sans réel succès (connexions persistantes ou non, modification du my.cnf etc...).

Voici le fichier de conf de mysql

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
 
wait_timeout= 6000
ync_binlog=1
back_log = 50
max_connections = 10000
max_connect_errors = 9999999
table_cache = 4096
max_allowed_packet = 100M
binlog_cache_size = 1M
max_heap_table_size = 64M
sort_buffer_size = 8M
join_buffer_size = 8M
thread_cache_size = 16
 
query_cache_size = 128M
query_cache_limit = 4M
query_alloc_block_size = 16K
thread_stack = 192K
transaction_isolation = READ-COMMITTED
tmp_table_size = 64M
log_warnings
log_slow_queries
long_query_time = 1
log_long_format
 
connect_timeout=300
 
 
key_buffer_size = 32M
read_buffer_size = 2M
read_rnd_buffer_size = 16M
bulk_insert_buffer_size = 64M
myisam_sort_buffer_size = 128M
myisam_max_sort_file_size = 1G
myisam_max_extra_sort_file_size = 1G
myisam_recover
 
init_connect='SET collation_connection = utf8_general_ci'
init_connect='SET NAMES utf8'
default-character-set=utf8
character-set-server = utf8
collation-server = utf8_general_ci
 
[mysqldump]
quick
quote-names
max_allowed_packet      = 16M
 
[mysql]
#no-auto-rehash # faster start of mysql but no tab completition
default-character-set=utf8
 
[isamchk]
key_buffer = 512M
sort_buffer_size = 512M
read_buffer = 8M
write_buffer = 8M
 
[myisamchk]
key_buffer = 512M
sort_buffer_size = 512M
read_buffer = 8M
write_buffer = 8M
J'ai l'impression qu'en fait la base sur le serveur Y, refuse les connections du script sur le serveur (au bout d'un moment ou au hasard, enfin je ne sais pas ), mais je ne suis même pas sur que ce soit ça...
Enfin bref, je ne sais plus trop ou chercher.


Si jamais vous avez déja rencontré ce problème ou si vous avez une petite idée, c'est avec grand plaisir!

thanks.