#2006 - MySQL server has gone away
对于web应用来说,经常会用到mysql,而数据的备份与还原是web应用经常做的事,一般来说,用客户端工具phpmyadmin,sqlyog 等,来备份数据库没有任何问题,还原时经常碰到mysql提示的#2006错误。
Error: 2006
(CR_SERVER_GONE_ERROR
)
Message: MySQL server has gone away
原因可能是sql语句过长,超过mysql通信缓存区最大长度;
调整mysql配置文件中max_allowed_packet
mysql配置文件mysql ini(部分)
# Example MySQL config file for medium systems.
#
# This is for a system with little memory (32M - 64M) where MySQL plays
# an important part, or systems up to 128M where MySQL is used together with
# other programs (such as a web server)
#
# You can copy this file to
# /etc/my.cnf to set global options,
# mysql-data-dir/my.cnf to set server-specific options (in this
# installation this directory is C:mysqldata) or
# ~/.my.cnf to set user-specific options.
#
# In this file, you can use all long options that a program supports.
# If you want to know which options a program supports, run the program
# with the "--help" option.
# The following options will be passed to all MySQL clients
[client]
#password = your_password
port = 3306
socket = /tmp/mysql.sock
# Here follows entries for some specific programs
# The MySQL server
[wampmysqld]
#mysql端口
port = 3306
socket = /tmp/mysql.sock
#索引缓存区,决定你索引查询时能访问速度
key_buffer_size = 16M
#通信缓存区最大长度,决定你sql语句中字符串最大长度
max_allowed_packet = 1M
#排序缓存区,决定你orderby的速度
sort_buffer_size = 512K
#通信缓存区大小,查询时默认该值为通信缓存区大小,若不够会自动增加直到达到max_allowed_packe
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M