分享

MySQL数据库修改字符集为utf8mb4

 rongq2007 2019-08-13

MySQL字符集设置—MySQL数据库乱码问题

需要修改my.ini( my.cnf)

[client]  

default-character-set=utf8mb4  

[mysqld] 

character-set-client-handshake = false  

character_set_server = utf8mb4

collation_server = utf8mb4_bin

init_connect='set names utf8mb4'  

[mysqldump]  

character_set_client=utf8mb4

[mysql]  

default-character-set=utf8mb4

查看是否修改成功的方法:

Mysql执行:

show variables like 'version';

show variables like '%character%';

show variables like 'collation%';

结果如下图

大家观察看,charater_set_system还是utf8,show variables 看下,但是它应是个只读变量。这个是系统的字符集,修改不了。所以,这个值不可配置,是硬编码的,和OS是紧密在一起的,不需要关注。

查看库的字符集

语法:show database status from 库名 like  表名;

mysql> show create database shiyan\G*************************** 1. row ***************************
       Database: shiyanCreate Database: CREATE DATABASE `shiyan` /*!40100 DEFAULT CHARACTER SET gbk */1 row in set (0.00 sec)


4.查看表的字符集

语法:show table status from 库名 like  表名;

mysql> show table status from class_7 like 'test_info';

5.查看表中所有列的字符集

语法:show full columns from 表名;

mysql> show full columns from test_info;

关于mysql init_connect的几个要点总结

init_connect的作用

init_connect通常用于:当一个连接进来时,做一些操作,比如设置autocommit为0,比如记录当前连接的ip来源和用户等信息到一个新表里,当做登陆日志信息

1.设定字符集:
init_connect='set autocommit=0; set names gbk;' 

使用init_connect的注意点

1 只有超级账户才可以设置(super_priv权限)

2 超级账户无视init_connect设置(即init_connect的设置对来自超级账户的连接不生效)


在我们创建mysql数据库的时候我们经常会用到这句SQL:CREATE DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci。

 那么这句sql的每一部分分别代表着什么?又有什么意义?在看了网上很多资料后想总结下。

 我们将这句sql划分为三段:CREATE DATABASE `test`    ,  DEFAULT CHARACTER SET utf8,  COLLATE utf8_general_ci。

 CREATE DATABASE `test` :    代表的是创建数据库 test。

   DEFAULT CHARACTER SET utf8 :   代表的是将该库的默认编码格式设置为utf8格式。

 COLLATE utf8_general_ci :     代表的是数据库校对规则,utf8_bin将字符串中的每一个字符用二进制数据存储,区分大小写。utf8_genera_ci不区分大小写,ci为case insensitive的缩写,即大小写不敏感。utf8_general_cs区分大小写,cs为case sensitive的缩写,即大小写敏感。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多