zoukankan      html  css  js  c++  java
  • MySQL批量修改数据库的字符集

    #走过,试过的路

    UPDATE information_schema.`SCHEMATA` SET  DEFAULT_COLLATION_NAME='utf8_general_ci'  WHERE DEFAULT_COLLATION_NAME<>'utf8_general_ci';

    #————尝试使用update语句来修改,这是走不通的,报以下错误 没有权限。

    #错误代码: 1044
    #Access denied for user 'root'@'%' to database 'information_schema'

    #经过度娘查找资料,需要使用alter语句才可以修改DB的字符集

    ALTER DATABASE mydb CHARACTER SET utf8;

    #第一步,找出MySQL实例中字符集不是utf8的数据库

    SELECT * FROM information_schema.`SCHEMATA` WHERE DEFAULT_COLLATION_NAME<>'utf8_general_ci';

    #第二步,修改字符集 

    #如果MySQL实例上有多个数据库需要将字符集改为utf8,我们可以采取的策略,如下:

    #2.1 使用 CONCAT函数,相信大家看到以下的语句,应该能知道下一步怎么做了。

    SELECT *,CONCAT(' ALTER DATABASE ',schema_name,' CHARACTER SET utf8;')strSql FROM information_schema.`SCHEMATA` WHERE DEFAULT_COLLATION_NAME<>'utf8_general_ci';

    #2.2 复制出上一个select的结果,粘贴,最后执行

    ALTER DATABASE 3_11_测试数据库1 CHARACTER SET utf8;
    ALTER DATABASE 3_3_testddb CHARACTER SET utf8;
    ALTER DATABASE 410_3_test CHARACTER SET utf8;
    …………

    #第三步,检查验证是否修改成功

    SELECT * FROM information_schema.`SCHEMATA` WHERE DEFAULT_COLLATION_NAME<>'utf8_general_ci';

    #<r>查询:SELECT * FROM information_schema.`SCHEMATA` WHERE DEFAULT_COLLATION_NAME<>'utf8_general_ci' LIMIT 0, 1000
    #返回了 0 行

    #结果表明,已经没有字符集不是utf8的库了

    大功告成!

  • 相关阅读:
    spring boot 若依系统整合Ueditor,部署时候上传图片错误解决
    JVM学习笔记之栈区
    据说这个是可以撸到2089年的idea2020.2
    小程序监听屏幕滑动事件
    小程序bindinput和bindblur赋值延迟问题解决
    小程序文件下载并保存文件名打开
    数据结构
    Spring JPA 自定义删改
    Spring JPA 查询创建
    Spring JPA 拓展
  • 原文地址:https://www.cnblogs.com/cyun/p/5596195.html
Copyright © 2011-2022 走看看