Réglage "max_allowed_packet" – command line vs config?

Quelle est la différence entre la configuration du max_allowed_packet via la command line MySQL en utilisant:

 set global max_allowed_packet=100000000; 

Et en le configurant en éditant MySQL my.ini (Win) ou my.cnf (Linux) config et en mettant le code suivant sous [mysqld] :

 max_allowed_packet=100M 

 set global max_allowed_packet = 1000000000 

Cela définit max_allowed_packet il à 1 milliard d'octets ou 1 Go.

 max_allowed_packet=100M 

Cela le définit à 104857600 octets ou 100 MiB.


En supposant que votre zéro supplémentaire est involontaire, la seule différence entre le réglage via la command line et la configuration est que le file de configuration prend en charge la sténographie en utilisant les préfixes binarys JEDEC . De plus, le set global sera perdu lors du redémarrage du server.

Une autre différence importante est le fait que la configuration de max_allowed_packet survivra à un redémarrage mysql si vous définissez la variable dans my.cnf (ou my.ini)

En outre, si vous définissez cette variable à l'échelle mondiale, il serait logique de définir également les variables de session, surtout si la session l'exige.

Ugh, je viens de lire la réponse de hobodave. Une réponse plus claire. Je lui donne un +1