Wie kann man mysql max_allowed_packet für den Client erhöhen?

28160
reederz

Ich möchte die max_allowed_packet-Variablengröße für den Mysql-Client erhöhen, der den Remote-Server verwendet. Ich habe es gegoogelt und die Antworten, die ich finden konnte, besprachen nur das Ändern der Variablen für den Server.

Mein Client-Programm ist MySql Workbench für Windows 7.

3

1 Antwort auf die Frage

2
RolandoMySQLDBA

Laut MySQL-Dokumentation auf max_allowed_packet

Einige Programme wie mysql und mysqldump ermöglichen es Ihnen, den clientseitigen Wert zu ändern, indem Sie max_allowed_packet in der Befehlszeile oder in einer Optionsdatei festlegen.

Um es auf 512M zu setzen, führen Sie einfach den mysql-Client folgendermaßen aus:

C:\>mysql -u... -p...  Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 31 Server version: 5.5.12-log MySQL Community Server (GPL)  Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.  Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.  Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.  mysql> show variables like 'max_allowed_packet'; +--------------------+----------+ | Variable_name | Value | +--------------------+----------+ | max_allowed_packet | 16777216 | +--------------------+----------+ 1 row in set (0.00 sec)  mysql> set max_allowed_packet=1024 * 1024 * 512; ERROR 1621 (HY000): SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to assign the value mysql> set global max_allowed_packet=1024 * 1024 * 512; Query OK, 0 rows affected (0.00 sec)  mysql> show variables like 'max_allowed_packet'; +--------------------+----------+ | Variable_name | Value | +--------------------+----------+ | max_allowed_packet | 16777216 | +--------------------+----------+ 1 row in set (0.00 sec)  mysql> exit Bye  C:\>mysql -u... -p... Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 32 Server version: 5.5.12-log MySQL Community Server (GPL)  Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.  Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.  Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.  mysql> show variables like 'max_allowed_packet'; +--------------------+-----------+ | Variable_name | Value | +--------------------+-----------+ | max_allowed_packet | 536870912 | +--------------------+-----------+ 1 row in set (0.00 sec) 

Sie müssen es global einstellen. Sie können es nicht lokal einstellen.

Sie benötigen das SUPER-Privileg, um eine globale Variable festzulegen.

Wenn ich diesen Befehl ausprobiere, erhielt ich einen Fehler wie ERROR 1621 (HY000): Die SESSION-Variable 'max_allowed_packet' ist schreibgeschützt. Verwenden Sie SET GLOBAL, um den Wert zuzuweisen MONTYHS vor 10 Jahren 0
@MONTYHS Bitte lies meine Antwort sehr genau. Ich habe bereits set max_allowed_packet = 1024 * 1024 * 512 ausgeführt; `, die Fehlermeldung angezeigt,` set global max_allowed_packet = 1024 * 1024 * 512; `erfolgreich ausgeführt und dann` Sie müssen es global einstellen. Sie können es nicht lokal einstellen. " Daher ist meine Antwort gründlich und vollständig und seit dem 3. Mai 2012 so. RolandoMySQLDBA vor 10 Jahren 0