mysql 字符集排查
mysql 字符集排查
库级别
SELECT
*
FROM
information_schema.schemata
WHERE
schema_name NOT IN ( 'information_schema', 'performance_schema', 'mysql', 'sys' )
AND ( default_character_set_name <> 'utf8' OR default_collation_name <> 'utf8_general_ci' );

表级别
SELECT
TABLE_SCHEMA,
TABLE_NAME,
TABLE_TYPE,
TABLE_ROWS,
TABLE_COLLATION,
CREATE_OPTIONS
FROM
information_schema.TABLES
WHERE
TABLE_TYPE = 'BASE TABLE'
AND TABLE_SCHEMA NOT IN ('information_schema' , 'performance_schema', 'mysql', 'sys')
AND TABLE_COLLATION <> 'utf8_general_ci';

字段级别
SELECT
TABLE_SCHEMA AS '库名',
DEFAULT_CHARACTER_SET_NAME AS '库的字符集',
DEFAULT_COLLATION_NAME AS '库的校对字符集',
TABLE_NAME AS '表名',
TABLE_COLLATION AS '表的校对规则',
COLUMN_NAME AS '字段名',
CHARACTER_SET_NAME AS '字段的字符集',
COLLATION_NAME AS '字段的校对规则'
FROM
(SELECT
C2.TABLE_SCHEMA,
C2.TABLE_NAME,
C2.CHARACTER_SET_NAME,
T2.TABLE_COLLATION,
C2.COLUMN_NAME,
C2.COLLATION_NAME,
S2.DEFAULT_CHARACTER_SET_NAME,
S2.DEFAULT_COLLATION_NAME,
CASE
WHEN
S2.DEFAULT_CHARACTER_SET_NAME = 'utf8'
AND S2.DEFAULT_COLLATION_NAME = 'utf8_general_ci'
AND (C2.CHARACTER_SET_NAME = 'utf8'
OR C2.CHARACTER_SET_NAME IS NULL)
AND (C2.COLLATION_NAME = 'utf8_general_ci'
OR C2.COLLATION_NAME IS NULL)
AND T2.TABLE_COLLATION = 'utf8_general_ci'
THEN
'true'
ELSE 'false'
END STATUS
FROM
information_schema.COLUMNS AS C2
JOIN (SELECT
TABLE_SCHEMA,
TABLE_NAME,
TABLE_TYPE,
TABLE_ROWS,
TABLE_COLLATION,
CREATE_OPTIONS
FROM
information_schema.TABLES
WHERE
TABLE_TYPE = 'BASE TABLE'
AND TABLE_SCHEMA NOT IN ('information_schema' , 'sys', 'performance_schema', 'mysql')) T2 ON C2.TABLE_NAME = T2.TABLE_NAME
AND C2.TABLE_SCHEMA = T2.TABLE_SCHEMA
JOIN (SELECT
SCHEMA_NAME,
DEFAULT_CHARACTER_SET_NAME,
DEFAULT_COLLATION_NAME
FROM
information_schema.SCHEMATA) S2 ON T2.TABLE_SCHEMA = S2.SCHEMA_NAME) charset_status
WHERE
STATUS = 'false'
ORDER BY TABLE_SCHEMA , TABLE_NAME;
- 表默认排序规则。输出未显式列出表默认字符集,但排序规则名称以字符集名称开头。

mysql 字符集排查的更多相关文章
- [转]关于Navicat和MYSQL字符集不统一出现的中文乱码问题
原文链接:关于Navicat和MYSQL字符集不统一出现的中文乱码问题 最近遇到一串关于MYSQL中文乱码的问题,问题背景是这样的: 在此之前,服务器上安装好MySQL之后就立马重新配置了字符集为ut ...
- 如何修改MySQL字符集
首先,MySQL的字符集问题主要是两个概念,一个是Character Sets,一个是Collations,前者是字符内容及编码,后者是对前者进行比较操作的一些规则.这两个参数集可以在数据库实例.单个 ...
- Mysql字符集设置
转 基本概念 • 字符(Character)是指人类语言中最小的表义符号.例如’A'.’B'等:• 给定一系列字符,对每个字符赋予一个数值,用数值来代表对应的字符,这一数值就是字符的编码(Encodi ...
- MySQL字符集
字符集的选择 1.如果数据库只需要支持中文,数据量很大,性能要求也很高,应该选择双字节定长编码的中文字符集(如GBK).因为相对于UTF-8而言,GBK"较小",每个汉字只占2个字 ...
- mysql5.5字符集设置的一点变化(对于中文乱码问题,需要设置mysql字符集)
工作中因为字符集问题没少头疼,还犯过一次错误,还好拯救及时,没有发生重大事故,唉,弄清楚点还是非常有必要的: 例如我的工作环境为CTR+redhat5+mysql5.5 在导入sql语句的时候必须要注 ...
- Mysql字符集知识总结
字符集&字符编码方式 字符集(Character set)是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同,这里的字符可以是英文字符,汉字字符,或者其他国家语言字符. 常见字符集 ...
- MySQL字符集的修改和查看
1.关于MySQL字符集 MySQL的字符集支持(Character Set Support)有两个方面: 字符集(Character set)和排序方式(Collation). MySQL对于字符集 ...
- MySQL字符集转换引发插入乱码问题
根据http://www.cnblogs.com/cchust/p/4601536.html进行验证测试 问题背景 在mysql上面执行一条普通的insert语句,结果报错: Incorrect st ...
- MySQL 字符集设置
/*************************************************************************** * MySQL 字符集设置 * 说明: * 数 ...
随机推荐
- java.lang.NoClassDefFoundError: Could not initialize class org.jfree.chart.JFreeChart
最近在进行利用jfreechart生成图表时发现,项目在本地运行的好好的,一部署到服务器(linux系统)上就不行,报这样的错误: java.lang.NoClassDefFoundError: Co ...
- PostgreSQL角色和权限理解
1.继承的权限只是继承该组的表的权限,用户对应的管理员权限则不会被继承. 2.inherit权限是说本角色是否继承别人的权限,而不是本权限能否被别的角色继承. postgres=# create ...
- Kali Liunx 2.0震撼来袭(附下载地址、新特性和更新日志)
Kali 2.0昨天已经在BlackHat 2015 USA上正式发布了.无论是粉丝们还是Kali官方都对这个2.0版本抱有极大的期待和热情.这是第一个基于Debian Jessie的Kali版本,此 ...
- Python学习(002)--Python介绍
一. Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为AB ...
- ubuntu16上传文件到服务器
用windows时候,上传文件到服务器,一般都是用xshell和xftp配合使用,用ubuntu就不需要额外安装任何软件了.只用ctrl+alt+t,打开命令行用一句话就可以上传了. 将本地war包上 ...
- zookeeper windows 下配置和基础命令
原文链接:http://blog.csdn.net/woshioosm/article/details/45560177 1, 解压zookeeper ,在目录下建立文件夹 data 和log 2,在 ...
- 《DSP using MATLAB》Problem 4.20
代码: %% ------------------------------------------------------------------------ %% Output Info about ...
- hdu2060-2062
hdu 2060 斯诺克,读懂题意直接模拟 #include<stdio.h> int main(){ int N; ]; a[]=; ;i<=;i++){ a[i]=(-i)*i/ ...
- GStreamer插件分类
gst-plugins-base一套小而固定的插件,涵盖各种可能类型的elements; 这些在开发系列期间随着核心变化而不断更新.我们相信分销商可以安全地发行这些插件.人们编写插件应该将他们的代码基 ...
- graphql-modules 企业级别的graphql server 工具
graphql-modules 是一个新开源的graphql 工具,是基于apollo server 2.0 的扩展库,该团队 认为开发应该是模块化的. 几张来自官方团队的架构图可以参考,方便比较 a ...