MySQL 5.7.13 的一个BUG
Posted 彭玉松
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL 5.7.13 的一个BUG相关的知识,希望对你有一定的参考价值。
mysql今天从5.6切到5.7,在测试环境中,日志是全部打印的,发现打了一个警告:
Incorrect string value: ‘\xD6\xD0\xB9\xFA\xB1\xEA...‘ for column ‘VARIABLE_VALUE‘ at row 478
于是,谷歌之后发现答案全都是说插入数据时编码错误,然而我并没有插入数据,只是查询数据,而且网上说的那些配置修改早就修改好了。
累觉不爱,但是本着程序员精神,蛋疼了一会儿后继续谷歌,并且研究日志,发现只要执行 SHOW VARIABLES LIKE ‘XXX‘的命令就会打印一个警告。
在mysql客户端也验证了这个问题,找到了原因,于是再谷歌,发现了bug report:https://bugs.mysql.com/bug.php?id=82414
[2 Aug 16:01] Lowe Ryan Description: > SHOW CREATE TABLE INFORMATION_SCHEMA.GLOBAL_VARIABLES\G *************************** 1. row *************************** Table: GLOBAL_VARIABLES Create Table: CREATE TEMPORARY TABLE `GLOBAL_VARIABLES` ( `VARIABLE_NAME` varchar(64) NOT NULL DEFAULT ‘‘, `VARIABLE_VALUE` varchar(1024) DEFAULT NULL ) ENGINE=MEMORY DEFAULT CHARSET=utf8 1 row in set (0.00 sec) When I set log_bin as follows: log-bin=?? It correctly sets the files on disk: -rw-rw---- 1 rlowe 1278 174B Aug 2 08:34 ??.000001 -rw-rw---- 1 rlowe 1278 174B Aug 2 08:40 ??.000002 -rw-rw---- 1 rlowe 1278 151B Aug 2 08:53 ??.000003 -rw-rw---- 1 rlowe 1278 42B Aug 2 08:53 ??.index But I cannot accurately retrieve log_bin_basename: > SHOW GLOBAL VARIABLES LIKE ‘log_bin_basename‘; +------------------+-----------------------------------------------------------+ | Variable_name | Value | +------------------+-----------------------------------------------------------+ | log_bin_basename | /Users/rlowe/sandboxes/rsandbox_mysql-5_6_23/master/data/ | +------------------+-----------------------------------------------------------+ 1 row in set, 1 warning (0.00 sec) > SHOW WARNINGS; +---------+------+---------------------------------------------------------------------------------+ | Level | Code | Message | +---------+------+---------------------------------------------------------------------------------+ | Warning | 1366 | Incorrect string value: ‘\xF0\x9F\x92\xA9‘ for column ‘VARIABLE_VALUE‘ at row 1 | +---------+------+---------------------------------------------------------------------------------+ 1 row in set (0.00 sec) How to repeat: Follow the steps above Suggested fix: Disallow utf8mb4 characters when setting log_bin OR change the character set of GLOBAL_VARIABLES [2 Aug 16:20] Umesh Umesh Hello Lowe Ryan, Thank you for the report. Thanks, Umesh
此致,敬礼
虽然没有什么用,但一种爽的感觉悠然而生,我想这就是程序员精神。
以上是关于MySQL 5.7.13 的一个BUG的主要内容,如果未能解决你的问题,请参考以下文章
关于mysql-5.7.13-winx64服务无法启动的解决方法
朝花夕拾:linux CentOS 7 安装mysql 5.7.13
centos 7 + mysql 5.7.13 重置数据库的root密码
源码安装mysql-5.7.13一周的冤枉路总结。满满的都是泪啊