我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL 8.0.19客户端的一个小变化

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL 8.0.19客户端的一个小变化

MySQL 8.0.19客户端的一个小变化

本文作者:叶金荣,知数堂联合创始人,MySQL DBA课程讲师。Oracle MySQL ACE,MySQL布道师。有多年MySQL及系统架构设计经验,擅长MySQL企业级应用、数据库设计、优化、故障处理等。

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

在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,执行 statuss时能看到下面这样的标记:

[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**,而应该以码农们习惯的十六进制展示,所以能让屏幕输出看起来更酷一些?哈哈哈...

延伸阅读

  • Print binary data as hex in the mysql client #118, https://github.com/mysql/mysql-server/pull/118

  • Print binary data as hex in the mysql client (contribution), https://bugs.mysql.com/bug.php?id=84391

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL 8.0.19客户端的一个小变化

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL 8.0.19客户端的一个小变化

本文作者:叶金荣,知数堂联合创始人,MySQL DBA课程讲师。Oracle MySQL ACE,MySQL布道师。有多年MySQL及系统架构设计经验,擅长MySQL企业级应用、数据库设计、优化、故障处理等。不注意到这个变化的话,还挺折腾人的。在MySQL 8
MySQL 8.0.19客户端的一个小变化
2016-02-12

在MySQL中,为什么一个客户端不能使用另一个客户端定义的用户定义变量?

在 MySQL 中,一个客户端定义的用户定义变量不能被另一个客户端看到或使用,因为用户定义变量是特定于连接的。这意味着当客户端退出时,给定客户端连接的所有变量都会自动释放
2023-10-22

在MySQL中,为什么一个客户端不能使用另一个客户端定义的用户定义变量

在MySQL中,每个客户端都有自己的会话空间,用于存储会话变量和用户定义变量。每个客户端之间的会话空间是相互隔离的,因此一个客户端无法直接访问另一个客户端定义的变量。当一个客户端定义一个用户定义变量时,它只能在该客户端的会话中使用和访问这个
2023-10-20

自己动手写一个能操作redis的客户端

作者:孤独烟 来源:微信订阅号(程序员孤独烟)原文链接:https://mp.weixin.qq.com/s/IBynkex-FHhvJ3tmizvJhA 引言redis大家在项目中经常会使用到。官网也提供了多语言的客户端供大家操作redi
2023-06-05

使用Nodejs 实现一个简单的 Redis客户端(推荐)

在nodejs中支持TCP连接的是net模块, 其中使用createConnection(config)或者直接new Socket(config)来初始化一个TCP连接,这篇文章主要介绍了用Nodejs 实现一个简单的 Redis客户端,需要的朋友可以参考下
2022-11-13

01_基于TCP的循环为同一个客户端下载

原版:TCP分为客户端(client)和服务器(server),每次服务器只能为客户端提供一次的下载服务。改良版:TCP分为客户端(client)和服务器(server),(1)每次服务器能为客服端循环提供下载服务,(2)服务器能够识别出不
2023-01-30

Nodejs实现的一个简单udp广播服务器、客户端

nodejs发送udp广播还是蛮简单的,我们先写个服务器用于接收广播数据,代码如下:var dgram = require("dgram"); var server = dgram.createSocket("udp4"); server.
2022-06-04

C#编写一个网游客户端的完整步骤是怎样的

这期内容当中小编将会给大家带来有关C#编写一个网游客户端的完整步骤是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。使用Virtual Studio 2019实现。一、认识NetworkStream(
2023-06-21

阿里云服务器在哪找客户端?一个详细的解答

阿里云服务器是一种提供给企业用户的基础计算资源,用户可以基于阿里云服务器进行应用开发、数据存储、网站搭建等。但是,很多用户在初次接触阿里云服务器时,不知道如何找到客户端。本文将详细介绍如何找到阿里云服务器的客户端,并给出一些客户端的使用建议。正文:如何找到阿里云服务器的客户端?阿里云服务器客户端主要有两种,一种是
阿里云服务器在哪找客户端?一个详细的解答
2023-11-12

如何利用C++实现一个简单的邮件客户端程序?

如何利用C++实现一个简单的邮件客户端程序?随着互联网的快速发展,电子邮件已经成为人们日常生活中必不可少的一部分。作为一名程序员,掌握如何利用C++语言来实现一个简单的邮件客户端程序无疑是非常重要的。本文将以1500个字以内的篇幅,介绍如何
如何利用C++实现一个简单的邮件客户端程序?
2023-11-04

技术分享 | 一次有趣的 MySQL 客户端命令用法的探索

作者:陈怡前言这篇文章简单介绍一下运维中经常用到的“MySQL客户端”的一些小技巧。这些小技巧非专业 DBA 基本不会用到,专业的 DBA 必备。希望我的分享你们也能用到。MySQL 客户端的内置命令有以下这些,我们会探索其中 6 个:List of all
技术分享 | 一次有趣的 MySQL 客户端命令用法的探索
2019-06-20

如何使用MySQL创建一个可扩展的会计系统表结构以应对业务的增长和变化?

如何使用MySQL创建一个可扩展的会计系统表结构以应对业务的增长和变化?在当今日益发展的商业环境下,会计系统在企业中起着至关重要的作用。随着业务的增长和变化,一个可扩展的会计系统表结构能够帮助企业有效管理和跟踪财务数据,保证财务流程的顺利运
如何使用MySQL创建一个可扩展的会计系统表结构以应对业务的增长和变化?
2023-10-31

编程热搜

目录