cd /var/lib/mysql/game

ll 

vim db.opt


default-character-set=utf8

default-collation=utf8_general_ci


wq 


service mysqld restart

或者

service mysqld reload


默认字符集修改完毕


vim /etc/my.cnf


[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

user=mysql

default-storage-engine=innodb  #添加该行 设置默认引擎为 innodb


service mysqld restart 

默认引擎修改完毕


mysql> show engines; #查看搜索引擎


建表时指定搜索引擎和字符

mysql> create table T2 (id int) engine=Innodb default charset =utf8;



InnODB引擎支持众多特性:

a) 支持ACID,简单地说就是支持事务完整性、一致性;

b) 支持行锁,以及类似ORACLE的一致性读,多用户并发;

c) 独有的聚集索引主键设计方式,可大幅提升并发读写性能;

d) 支持外键;

e) 支持崩溃数据自修复;


innoDB 用于:

 1.需要事务的应用

 2.高并发的应用

 3.自动恢复

 4.较快速的基于主键的操作


需要的注意问题

a) 所有InnoDB数据表都创建一个和业务无关的自增数字型作为主键,对保证性能很有帮助;

b) 杜绝使用text/blob,确实需要使用的,尽可能拆分出去成一个独立的表;

c) 时间戳建议使用 TIMESTAMP 类型存储;

d) IPV4地址建议用 INT UNSIGNED 类型存储;

e) 性别等非是即非的逻辑,建议采用 TINYINT 存储,而不是CHAR(1)

f) 存储较长文本内容时,建议采用JSON/BSON格式存储;