mysql字符集设定
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.MySQL5.1以及之前的版本:[mysqld]设置default-character-set
3.MySQL的字默认引擎设置
在修改默认引擎之前,最好了解mysql读取配置文件f的顺序,以及mysql的目录结构--默认basedir=/usr ,datadir=/var/lib/mysql,/etc/f
配置文件读取顺序详见另一篇帖子。
1.查看mysql的存储引擎信息
mysql> show engines;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------
------+
| Engine | Support | Comment
| Transactions | XA | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| FEDERATED | NO | Federated MySQL storage
engine | NULL | NULL | NULL |
| MRG_MYISAM | YES
| Collection of identical MyISAM tables
| NO | NO | NO |
| MyISAM | YES | MyISAM storage
engine | NO | NO | NO |
| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
| CSV | YES | CSV storage
engine | NO | NO | NO | | ARCHIVE | YES | Archive storage
engine | NO | NO | NO |
| PERFORMANCE_SCHEMA | YES | Performance
Schema | NO | NO | NO | | InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
+--------------------+---------+----------------------------------------------------------------+--------------+------+--------
MySQL-5.5.19-1.linux2.6.i386的默认引擎为InnoDB。
2.设置mysql的默认存储引擎
编辑f配置文件,在服务器端配置信息[mysqld]下面添加:
default-storage-engine = MyISAM
即可设置mysql数据库的默认引擎为MyISAM
3.设置当前会话的默认存储引擎
SET storage_engine=InnoDB;
即可以设置当前会话连接的默认存储引擎为InnoDB。
4.指定表的存储引擎
如:
create table t_innodb( id int(3) )
engine = innodb;
然后使用
mysql> show table status like 't_i%'\G;
查看表的详细信息。
5.修改表的存储引擎
ALTER TABLE t_name ENGINE = innodb;
修改表的存储引擎时,会重建表,结构文件、数据文件、索引文件等文件。
如果转化为myisam存储引擎,mysql会在datadir/db_name/目录下,生成临时表结构文件(.frm),临时数据文件(.MYD),临时索引文件(.MYI)。此处需要注意的是,myisam类型转换时,生成的.MYI索引文件比数据文件要大很多(这与mysql数据库索引的结构有关,B-Tree结构)(如果捕捉不到临时文件,请让表的数据量达到6位数)在数据文件目录下的表所在的库目录下运行:
while [ 1 ] ; do ls -l | grep -i '\#sql'; done)
如果转化为innodb存储引擎,因为innodb引擎默认使用共享表空间,数据文件、索引文件存储在ibdata1文件里面。
只有和innodb引擎有关的转化时,mysql数据库才会对ibdata1里面的data dictionary进行更新操作,删除旧的表信息,添加新的表信息。
6.设定固定数据库的字符集
alter database da_name default character set 'charset';
7.使mysql的表区分大小写
lower_case_table_names = 2