MySQL 8.0.19客户端的一个小变化

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS MySQL,高可用系列 2核4GB
简介: MySQL 8.0.19客户端的一个小变化

不注意到这个变化的话,还挺折腾人的。

在MySQL 8.0.19 Release Notes里,有这么一段话:

When the mysql client operates in interactive mode, the --binary-as-hex option now is enabled by default. In addition, output from the status (or \s) command includes this line when the option is enabled implicitly or explicitly。To disable hexadecimal notation, use --skip-binary-as-hex (Bug #24432545)

意思是如果用mysql客户端进入交互模式,那么默认启用参数 --binary-as-hex,执行 status\s时能看到下面这样的标记:

[root@yejr.me]> \s
...
Binary data as: Hexadecimal
...
Threads: 1  Questions: 88...

可以在启动客户端时加上--skip-binary-as-hex关闭这个参数。

那么加上参数--binary-as-hex后,对交互式客户端会有什么影响呢?

先看下文档里的解释:

When this option is given, mysql displays binary data using hexadecimal notation (0xvalue).

也就是说,当查询到的数据有二进制数据的话,就会用十六进制方式展示出来。

看看下面的例子吧:(建议在PC端或横版观看)

# 在 --skip-binary-as-hex 模式下

# 用CHAR()函数能把二进制转成ASCII字符
[root@yejr.me]> SELECT CHAR(77,121,83,81,'76');
+-------------------------+
| CHAR(77,121,83,81,'76') |
+-------------------------+
| MySQL |
+-------------------------+

# 在 --binary-as-hex(8.0.19后默认) 模式下
# 直接把二进制数据以十六进制输出了
...
Server characterset: utf8mb4
...
UNIX socket: /mysql/data01/mysql.sock
Binary data as: Hexadecimal

[root@yejr.me]> SELECT CHAR(77,121,83,81,'76');
+--------------------------------------------------+
| CHAR(77,121,83,81,'76') |
+--------------------------------------------------+
| 0x4D7953514C |
+--------------------------------------------------+


看起来是不是觉得怪怪的,很不适应。

新参数--binary-as-hex是MySQL 5.6.37版本开始引入的,由一位叫做Daniël van Eeden的哥们建议加入的。个人不是太理解这位仁兄的脑回路,可能觉得对于二进制数据,MySQL本来就不该给智能化地转成ASCII,而应该以码农们习惯的十六进制展示,所以能让屏幕输出看起来更酷一些?哈哈哈...

            </div>
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
Kubernetes 容器
rancher 卸载及清理
rancher 卸载及清理
701 0
|
移动开发 应用服务中间件 Linux
Apache Guacamole教程之安装部署
Apache Guacamole教程之安装部署
8362 0
Apache Guacamole教程之安装部署
|
数据安全/隐私保护
SpringSecurity利用@PreAuthorize注解自定义权限校验
利用@PreAuthorize注解自定义权限校验
3523 0
|
12月前
|
JavaScript 索引
Vue 3.x 版本中双向数据绑定的底层实现有哪些变化
从Vue 2.x的`Object.defineProperty`到Vue 3.x的`Proxy`,实现了更高效的数据劫持与响应式处理。`Proxy`不仅能够代理整个对象,动态响应属性的增删,还优化了嵌套对象的处理和依赖追踪,减少了不必要的视图更新,提升了性能。同时,Vue 3.x对数组的响应式处理也更加灵活,简化了开发流程。
|
Linux
Linux - Centos 8 执行 yum makecache fast 报错:yum makecache: error: argument timer: invalid choice: 'fast' (choose from 'timer')
Linux - Centos 8 执行 yum makecache fast 报错:yum makecache: error: argument timer: invalid choice: 'fast' (choose from 'timer')
1309 0
|
9月前
|
机器学习/深度学习 存储 人工智能
2025年NVIDIA RTX 4090云服务器租赁价格与选型指南
本文探讨了在主流云服务商尚未提供RTX 4090实例的背景下,如何选择高性能GPU服务器。分析了市场现状、替代方案性能,并推荐阿里云的GN7i(NVIDIA A10)、GN6v(NVIDIA V100)等实例,提供了成本优化策略与选型建议,确保用户在AI训练、图形渲染等场景中实现效率和成本的最佳平衡。
|
存储 关系型数据库 MySQL
SQLite的应用场景有哪些?
【8月更文挑战第21天】SQLite的应用场景有哪些?
773 3
|
存储 Linux 网络安全
如何在 Linux 中检查和设置时区?
【7月更文挑战第12天】
638 2
如何在 Linux 中检查和设置时区?
|
网络协议 Docker 容器
登录私有镜像仓库报错:Error response from daemon: Get https://dockerhub.thecloud.ink/v2/: dial tcp: lookup dock
登录私有镜像仓库报错:Error response from daemon: Get https://dockerhub.thecloud.ink/v2/: dial tcp: lookup dock
737 0
|
人工智能 弹性计算 自然语言处理
快速部署 MaxKB 社区版
MaxKB = Max Knowledge Base,是一款基于 LLM 大语言模型的开源知识库问答系统,旨在成为企业的最强大脑。本文介绍如何使用计算巢快速部署 MaxKB 社区版。
快速部署 MaxKB 社区版