1. 字符集定义
1.1 什么是字符集(Charset)
字符集:是一个系统支持的所有抽象字符的集合。字符是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。
1.2 MySQL数据库的字符集
1)字符集(CHARACTER)
2)校对规则(COLLATION)
1.3 MySQL中常见的字符集
1)UTF8
2)LATIN1
3)GBK
1.4 常见校对规则
1)ci:大小写不敏感
2)cs或bin:大小写敏感
1.5 查看字符集
mysql> show charset;mysql> show collation;
2. 字符集设置
2.1 操作系统级别
[root@db01 ~]# source /etc/sysconfig/i18n[root@db01 ~]# echo $LANGzh_CN.UTF-8
2.2 MySQL实例级别
方法1:在编译安装时候就指定如下服务器端字符集。
cmake .-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DWITH_EXTRA_CHARSETS=all \
方法2:在配置文件中设置字符集
[root@db01 ~]# vim /etc/my.cnf[mysqld]character-set-server=utf8
2.3 建库级别
mysql> create database oldboy charset utf8 default collate = utf8_general_ci;
2.4 建表级别
mysql> CREATE TABLE `test` (`id` int(4) NOT NULL AUTO_INCREMENT,`name` char(20) NOT NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8;
生产环境更改数据库(含数据)字符集的方法
mysql> alter database oldboy CHARACTER SET utf8 collate utf8_general_ci;mysql> alter table t1 CHARACTER SET utf8;
