如何调整MYSQL校对规则,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
调整MYSQL校对规则
gbk_bin是二进制存储.区分大小写的
gbk_chinese_ci不区分大小写
1.服务端调整
[mysqld]
default-character-set=gbk #对MYSQL5.1版本增加这一项 --default-character-set is removed in MySQL 5.5.
default-collation=gbk_bin #对MYSQL5.1版本增加这一项
character-set-server=gbk #对MYSQL5.5版本增加这一项
collation-server=gbk_bin #对MYSQL5.5版本增加这一项
但是建立时如果不指定COLLATTION,则从服务器默认继承gbk_chinese_ci
www.2cto.com
2.客户端调整
>show variables like 'collation_%';#调整前
+---------------------------------------------+
|variable_name |value |
|----------------------------------------------
collation_connection |gbk_chinese_ci |
|----------------------------------------------
collation_database |gbk_bin | -->服务端调整后 (调整前为gbk_chinese_ci)
|----------------------------------------------
collation_server |gbk_bin | -->服务端调整后 (调整前为gbk_chinese_ci)
|----------------------------------------------
mysql>set names 'gbk' collate 'gbk_bin';#进行调整后,再看下面
mysql>show variables like 'collation_%';
+---------------------------------------------+
|variable_name |value |
|----------------------------------------------
collation_connection |gbk_bin |
|----------------------------------------------
collation_database |gbk_bin |
|----------------------------------------------
collation_server |gbk_bin |
|----------------------------------------------
www.2cto.com
3. 可通过命令检查表的规则
mysql>show full columns from tbz;
4. 建立数据库,表时指定规则
CREATE DATABASE IF NOT EXISTS TEST DEFAULT CHARACTER SET gbk COLLATE gbk_bin;
CREATE TABLE `tbz` (
`BZ` varchar(3) NOT NULL,
`BZMC` varchar(16) NOT NULL,
`BZBM` varchar(1) DEFAULT NULL,
`SM` varchar(20) DEFAULT NULL,
PRIMARY KEY (`BZ`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk COLLATE gbk_bin ;
5. 显示当前默认规则 这个默认值怎么改呢??
mysql>show collation like 'gbk%';
+---------------------------------------------+------------------------------------------ www.2cto.com
|Collation |Charset | Id | Default | Compiled | Sortlen |
|----------------------------------------------------------------------------------------
|gbk_chinese_ci |gbk | 28 | YES | YES | 1 |
|gbk_bin |gbk | 87 | | YES | 1 |
|---------------------------------------------------------------------------------------
6. 字符编码与校对规则优先级
MySQL的字符集和校对规则有4个级别的默认设置:服务器级、数据库级、表级和字段级。
推荐在创建数据库时明确指定字符集和校对规则,避免受到默认值的影响。
关于如何调整MYSQL校对规则问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。