分析问题
查看ActiveMQ官网发现这样的解释:
Specified key was too long; max key length is 1000 bytes is the error not allowing the creation of ACTIVEMQ_ACKS
You are probably using utf8/some other multibyte encoding as the collation in your database…
Switch it to latin1 or ASCII… The varchar fields that the key is composed of add up to less than 1000 characters but with a multibyte encoding the key length is over 1000 bytes.
意思是key最多只能1000个字符,utf8等中文编码会占用过多的字符,所以要采用latin1 或者ASCII编码。
查看mysql数据库编码:
解决问题
果然需要调整编码方式,我试着采用
开启binlog后异常:impossible to write to binary log since BINLOG_FORMAT = STATEMENT
永久生效,需要修改my.ini
# binary logging format - ROW
binlog_format=ROW