mysql 字符集的系统变量说明

1.character_set_server和collation_server
这两个变量是服务器的字符集。在系统启动的时候可以通过--character-set-server和--collation-server来设置它们。如果没有的话系统会把这两各变量设置成默认值latin1和latin1_swedish_ci。默认值是编译在程序中的,只能通过重新编译来改变。
这两个变量只用来为create database命令提供默认值。
2.character_set_database和collation_database
这两个变量是当前数据库的字符集。create database命令有两个参数可以用来设置数据库的字符集和比较规则。数据库建立会在数据库目录下的db.opt文件中记录数据库的选项,数据库的字符集设置也记录在里面。当我们用use改变当前数据库时,mysql会读数据库db.opt文件来设置这两个变量。当没有当前数据库的时候这两个变量等于character_set_server和collation_server。
这两个变量只用来为create table命令提供默认值。
3.character_set_client
这个变量用来决定mysql怎么解释客户端发到服务器的SQL命令文字。
4.character_set_connection和collation_connection
这两个变量用来决定mysql怎么处理客户端发来的SQL命令。mysql会把SQL命令文字从character_set_client编码转到character_set_connection然后再执行。collation_connection在比较SQL中的直接量时使用。
5.character_set_results
当SQL有结果返回的时候这个变量用来决定发给客户端的结果中文字量的编码。

还有几个字符集概念没有系统变量表示。
6.表的字符集
create table 的参数里可以设置,为列的字符集提供默认值。
7.列的字符集
决定本列的文字数据的存储编码。列的比较规则比collation_connection高。也就是说mysql会把SQL中的文字直接量转成列的字符集后再与列的文字数据比较。
8.character_set_system
这是元数据的字符集,数据库,表和列的定义都是用的这个字符集。它有一个定值, 是utf-8

(0)

相关推荐

  • mysql 字符集的系统变量说明

    1.character_set_server和collation_server 这两个变量是服务器的字符集.在系统启动的时候可以通过--character-set-server和--collation-server来设置它们.如果没有的话系统会把这两各变量设置成默认值latin1和latin1_swedish_ci.默认值是编译在程序中的,只能通过重新编译来改变. 这两个变量只用来为create database命令提供默认值. 2.character_set_database和collatio

  • 深入Mysql字符集设置[精华结合]

    基本概念 • 字符(Character)是指人类语言中最小的表义符号.例如'A'.'B'等: • 给定一系列字符,对每个字符赋予一个数值,用数值来代表对应的字符,这一数值就是字符的编码(Encoding).例如,我们给字符'A'赋予数值0,给字符'B'赋予数值1,则0就是字符'A'的编码: • 给定一系列字符并赋予对应的编码后,所有这些字符和编码对组成的集合就是字符集(Character Set).例如,给定字符列表为{'A','B'}时,{'A'=>0, 'B'=>1}就是一个字符集: •

  • 深入Mysql字符集设置分析

    基本概念 • 字符(Character)是指人类语言中最小的表义符号.例如'A'.'B'等: • 给定一系列字符,对每个字符赋予一个数值,用数值来代表对应的字符,这一数值就是字符的编码(Encoding).例如,我们给字符'A'赋予数值0,给字符'B'赋予数值1,则0就是字符'A'的编码: • 给定一系列字符并赋予对应的编码后,所有这些字符和编码对组成的集合就是字符集(Character Set).例如,给定字符列表为{'A','B'}时,{'A'=>0, 'B'=>1}就是一个字符集: •

  • mysql变量用法实例分析【系统变量、用户变量】

    本文实例讲述了mysql变量用法.分享给大家供大家参考,具体如下: 本文内容: 系统变量 用户变量 局部变量 首发日期:2018-04-18 系统变量: 系统变量就是系统已经提前定义好了的变量 系统变量一般都有其特殊意义.比如某些变量代表字符集.某些变量代表某些mysql文件位置 系统变量中包括会话级变量(当次会话连接生效的变量,如names),以及全局变量(一直生效的变量) [系统变量中全局变量和会话变量其实是使用一套变量,不同的是会话变量仅当次会话生效.] 会话变量的赋值:set 变量名 =

  • Mysql系统变量与状态变量详细介绍

    目录 系统变量 什么是Mysql系统变量 设置系统变量 my.cnf设置配置 启动项配置 Set的形式修改系统变量 SESSION作用范围语法 GLOBAL作用范围语法 查看系统变量值 系统变量注意点 并不是所有的系统变量都有session范围和global范围 并不是所有系统变量可以修改 状态变量 系统变量 什么是Mysql系统变量 能够在程序运行过程中影响Mysql程序行为的变量称之为系统变量. 在Mysql中存在多个系统变量,可以使用show variables查看,如果直接执行得到的结果

  • MySql服务器系统变量和状态变量介绍

    服务器系统变量 服务器将维护许多表示其配置的系统变量.所有变量均有默认值.可以在命令行中或选项文件设置选项在服务器启动时对它们进行设置.大多数可以在运行时使用SET语句来设置. mysqld服务器维护两种变量.全局变量影响服务器的全局操作.会话变量影响具体客户端连接相关操作. 服务器启动时,将所有全局变量初始化为默认值.可以在选项文件或命令行中指定的选项来更改这些默认值.服务器启动后,通过连接服务器并执行SET GLOBAL var_name语句可以更改动态全局变量.要想更改全局变量,必须具有S

  • MySQL 的启动选项和系统变量实例详解

    本文实例讲述了MySQL 的启动选项和系统变量.分享给大家供大家参考,具体如下: MySQL的配置信息可以通过两种方式实现,一种是命令行形式,在启动MySQL服务时后边带上相关配置参数,此种方式会在MySQL重启后失效.另外一种是通过写入配置文件,如my.cnf,启动或者重启MySQL服务都会生效,此种方式是永久生效. 启动选项 命令行 在MySQL服务命令启动时,带上配置参数 启动方式可参考这篇:MySQL 的启动和连接方式 命令格式: 启动命令 --启动选项1[=值1] --启动选项2[=值

  • Linux系统下修改mysql字符集为UTF8步骤

    目录 1.数据库中查看MySQL状态: 2.修改配置文件: 3.若是还没成功,可能是创建mysql时的配置或者刚上一步MySQL没有停止服务编辑 my.cnf 配置文件. Linux上修改MySQL字符编码为UTF8 开始在linux上装好了MySQL服务,在后期的使用过程中,突然发现在插入记录时,部分字段不能为中文,报错信息如下: mysql> insert into syudent values(1,'陶盼',21); ERROR 1366 (HY000): Incorrect string

  • 带你5分钟读懂MySQL字符集设置

    一.内容概述 在MySQL的使用过程中,了解字符集.字符序的概念,以及不同设置对数据存储.比较的影响非常重要.不少同学在日常工作中遇到的"乱码"问题,很有可能就是因为对字符集与字符序的理解不到位.设置错误造成的. 本文由浅入深,分别介绍了如下内容: 字符集.字符序的基本概念及联系 MySQL支持的字符集.字符序设置级,各设置级别之间的联系 server.database.table.column级字符集.字符序的查看及设置 应该何时设置字符集.字符序 二.字符集.字符序的概念与联系 在

  • MYSQL字符集设置的方法详解(终端的字符集)

    前言 每次利用终端 创建数据库或者创建表的时候,字符集都是latin1,或者进行插入值的时候,显示的是乱码(不指定字符集的时候)如下: 查看当前数据库的字符集 character_set_client:客户端请求数据的字符集 character_set_connection:客户机/服务器连接的字符集 character_set_database:默认数据库的字符集,无论默认数据库如何改变,都是这个字符集:如果没有默认数据库,那就使用 character_set_server指定的字符集,这个变

随机推荐