I get the following error when I try to use mysqlcheck
, mysqlrepair
or mysqlanalyze
:
mysqlcheck: unknown variable 'max_allowed_packet=100M'
I am trying to find whether there are any corrupt tables or indexes.
Background:
- MySQL Ver 14.14 Distrib 5.5.24, for Linux (x86_64) using readline 5.1
- I used the command
mysqlcheck -u xxxx -h xxx.xxx.xx.xx -d xxxx -p xxxxx
my.cnf
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
default-character-set = utf8
max_allowed_packet = 100M
Under [client]
-
[client] port = 3306 socket = /var/run/mysqld/mysqld.sock default-character-set = utf8 max_allowed_packet = 100M Under [cliebt]Dinesh Kumar Sarangapani– Dinesh Kumar Sarangapani2013年05月23日 06:53:56 +00:00Commented May 23, 2013 at 6:53
-
Remove max_allowed_packet = 100M from [client] Section and then execute mysqlcheck.Please have a look at bugs.mysql.com/bug.php?id=68313Abdul Manaf– Abdul Manaf2013年05月23日 07:00:51 +00:00Commented May 23, 2013 at 7:00
2 Answers 2
According to this bug report (resolved as "not a bug"), you shouldn't put settings for mysqld
in the [client]
section of your .ini
file.
Put the max_allowed_packet
option in the [mysqld]
section instead.
See Using Option Files for more details.
-
1...afaik it's a valid (and required for some purposes) setting for clients. I've got a database with an unreasonably large blob in it which clients can't retrieve unless both the client and server have the option. See it mentioned here: dev.mysql.com/doc/refman/5.5/en/packet-too-large.htmlpacifist– pacifist2014年10月22日 23:40:14 +00:00Commented Oct 22, 2014 at 23:40
Add max_allowed_packet
, open
my.ini/my.cnf
under [mysqld]
section.
Once the change is done you would have to restart the server