前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL的几个character_set变量的说明

MySQL的几个character_set变量的说明

作者头像
保持热爱奔赴山海
发布2019-09-18 12:37:40
2.4K0
发布2019-09-18 12:37:40
举报
文章被收录于专栏:饮水机管理员饮水机管理员

参考: http://www.th7.cn/db/mysql/201412/84636.shtml

MySQL关于character有如下8个变量:

character_set_client

character_set_connection

character_set_database

character_set_filesystem

character_set_results

character_set_server

character_set_system

character_sets_dir

结论:

    character_set_client、character_set_connection、character_set_results这3个参数值是由客户端每次连接进来设置的,和服务器端没关系。

我们登陆进mysql后,执行 set names utf8; 实际就是同时修改上面的这3个参数值的。

环境:

    CentOS6.7x86_64

    Percona Server 5.7 (server段设置的是character-set-server= utf8)

在Windows上使用CMD命令行去连接node1,如下图:

wKioL1jzkWqjFMw-AAAig-BuuFY382.png
wKioL1jzkWqjFMw-AAAig-BuuFY382.png

在Windows上使用SQLyog命令行去连接node1,如下图:

wKioL1jzkWvg80stAAA_btuOlgc242.png
wKioL1jzkWvg80stAAA_btuOlgc242.png

可以看到2个工具连接到同一个服务器上,显示出的参数却不一样的。

从官方文档中可以看出character_set_connection、character_set_client、character_set_results三个字符集什么时候用到。

从实际上可以看到,当客户端连接服务器的时候,它会将自己想要的字符集名称发给mysql服务器,然后服务器就会使用这个字符集去设置character_set_client、character_set_connection、character_set_results这三个值。如cmd是用gbk,而SQLyog是用utf8.

如果我们想告诉mysql server自己本次连接想使用latin1,则命令行下可以如下写法:

mysql -uroot -h 192.168.2.11 -pAbcd@1234 --default-character-set=latin1

wKiom1jzkZiAG52hAAAq1gwuLeo931.png
wKiom1jzkZiAG52hAAAq1gwuLeo931.png

此外,要修改上面的3个字符集的话,

还可以在my.cnf的[mysql]段里面增加:

default-character-set=latin1

也可以登录进去后,执行set names latin1的效果相同。

其他几个参数:

character_set_database

这个是当前所在的数据库字符集。如果没有切换到其他数据库,则character_set_database显示的和character_set_server一致。

例:切换到一个默认是gbk的数据库里,执行showvariables like 'character_set_database';看到的就是gbk

character_set_filesystem

把os上文件名转化成此字符集,即把 character_set_client转换character_set_filesystem,默认binary是不做任何转换的

character_set_system

character_set_system是个只读数据不能更改。也没多少改的意义,他是元数据的编码,相信不会有人用中文做数据库名和字段名之类的吧,这个字段和具体存储的数据无关。

character_sets_dir

不清楚、。。。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-04-16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档