Mysql – Strange issue regarding the.cnf

linuxmy.cnfMySQL

I'm getting a weird message from phpmyadmin saying:

#2006 - MySQL server has gone away

What I found online is that I should increase the size of max_allowed_packet witch should be in the my.conf file witch is located at /etc/my.cnf. Untill now everything is fine, but the problem is that this file does not contain what I need.

Here is the content of the .cnf file on my server:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

Where should I look in order to increase the size of the packet? I'm new in the linux world and I'm lost.

Best Answer

You need to change the my.cnf file to include the single line under [mysqld] in your file

max_allowed_packet=16M

now restart the MySQL service and you are done.

You can see its current value in mysql like this:

SHOW VARIABLES LIKE 'max_allowed_packet'

You can try changing it like this, but it's unlikely this will work on shared hosting:

SET GLOBAL max_allowed_packet=16777216;

Also please read this: http://dev.mysql.com/doc/refman/5.1/en/packet-too-large.html