Depending on the profile, MySQL restricts the packet size that the server accepts.
Sometimes large inserts and updates are limited by the Max_allowed_packet parameter, causing the write or update to fail.
View current configuration
Show VARIABLES like '%max_allowed_packet% ';
The results displayed are:
+--------------------+---------+
| variable_name | Value |
+--------------------+---------+
| Max_allowed_packet | 1048576 |
+--------------------+---------+
The above description is currently configured as: 1M
1, modify the configuration file
You can edit the my.cnf to modify (Windows My.ini), either in the [Mysqld] section or in the MySQL server configuration section.
Max_allowed_packet = 20M
If you can't find my.cnf, you can pass the
MySQL--help | grep my.cnf
To find my.cnf files.
Linux under this file under/etc/.
2, in the MySQL command line to modify
Running on the MySQL command line
Set Global Max_allowed_packet = 2*1024*1024*10
Then exit the command line, restart the MySQL service, and then enter.
Show VARIABLES like '%max_allowed_packet% ';
See if Max_allowed_packet edits successfully
Note: This value is set too high to fail to write to the database after a single record exceeds the limit, and subsequent record writes will fail.
Experience Summary:
There are no problems with the method on many machines, but it was not successful to encounter a machine.
Using the command line: Set global max_allowed_packet = 16M;
Also no, but use
Set global max_allowed_packet = 2*1024*1024*10;
It worked, it was depressing.
The problem has finally been found, not the problem of the method, is set to leave the command line to log back to view, it appears that the value of the system variables will be cached after the login. However, use the configuration INI file on this machine.