zoukankan      html  css  js  c++  java
  • mysql字符集&排序规则

    mysql字符集&排序规则

    查看当前MySQL实例中不符合字符集&排序规则规范的库名:

    SELECT
    SCHEMA_NAME '数据库',
    DEFAULT_CHARACTER_SET_NAME '库字符集',
    DEFAULT_COLLATION_NAME '库排序规则'
    FROM
    information_schema.SCHEMATA 
    WHERE
    (DEFAULT_CHARACTER_SET_NAME != 'utf8mb4' OR DEFAULT_COLLATION_NAME != 'utf8mb4_unicode_ci')
    AND SCHEMA_NAME NOT IN ( 'sys', 'mysql', 'performance_schema', 'information_schema' );
    

    查看当前MySQL实例中不符合排序规范的表:

    SELECT TABLE_SCHEMA '数据库',TABLE_NAME '表',TABLE_COLLATION '表排序规则',TABLE_ROWS '表行数' FROM information_schema.TABLES WHERE TABLE_COLLATION != 'utf8mb4_unicode_ci' and TABLE_SCHEMA not in ('sys','mysql','performance_schema','information_schema');
    

    注意:修改 表 以及 表字段 的字符集、排序集之前,需要先修改 库 的 字符集、排序集

    如果是大表,那需要用到 gh-ost 来执行

    修改 数据库 的 字符集、排序规则:

    SELECT
    SCHEMA_NAME '数据库',
    DEFAULT_CHARACTER_SET_NAME '库字符规则',
    DEFAULT_COLLATION_NAME '库排序规则',
    CONCAT( 'ALTER DATABASE ', SCHEMA_NAME, ' DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;' ) '修正库规则SQL' 
    FROM
    information_schema.SCHEMATA 
    WHERE
    (DEFAULT_CHARACTER_SET_NAME != 'utf8mb4' OR DEFAULT_COLLATION_NAME != 'utf8mb4_unicode_ci')
    AND SCHEMA_NAME NOT IN ( 'sys', 'mysql', 'performance_schema', 'information_schema' );
    

    修改 表 以及 表字段 的字符集、排序规则:

    SELECT TABLE_SCHEMA '数据库',TABLE_NAME '表',TABLE_COLLATION '排序规则',CONCAT('ALTER TABLE ',TABLE_SCHEMA,'.', TABLE_NAME, ' CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;') '修正表规则SQL' FROM information_schema.TABLES WHERE TABLE_COLLATION != 'utf8mb4_unicode_ci' and TABLE_SCHEMA not in ('sys','mysql','performance_schema','information_schema');
    

  • 相关阅读:
    玩不转云计算的架构
    从《从架构的角度看,如何写好代码?》中来看如何编写单元测试代码
    换种形式工作
    程序员下一门要学的编程语言Swift
    从钉钉微应用定制化导航栏看如何实现Hybrid App开发框架
    纯灌水Linus主义
    kFreeBSD有活过来的迹象?UbuntuBSD
    架构的重要性
    MacOS下如何进行Git的冲突(Conflict)处理
    [转]以Facebook为案例剖析科技公司应有的工具文化
  • 原文地址:https://www.cnblogs.com/carry00/p/14238945.html
Copyright © 2011-2022 走看看