MySQL 默认引擎 默认编码

mysql默认的存储引擎是什么?它们的区别有哪些?mysql中索引有哪些?

 

1、mysql默认引擎

  mysql-5.1版本之前默认引擎是MyISAM,之后是innoDB


2、关系

  MyISAM是非集聚引擎,支持全文索引;不支持事务;它是表级锁;会保存表的具体行数.
  innoDB是集聚引擎,5.6以后才有全文索引;支持事务;它是行级锁;不会保存表的具体行数.


一般:不用事务的时候,count计算多的时候适合myisam引擎。对可靠性要求高就是用innodby引擎。

 

3、索引分类

1.普通索引index :加速查找
2.唯一索引
主键索引:primary key :加速查找+约束(不为空且唯一)
唯一索引:unique:加速查找+约束 (唯一)
3.联合索引
-primary key(id,name):联合主键索引
-unique(id,name):联合唯一索引
-index(id,name):联合普通索引
4.全文索引fulltext :用于搜索很长一篇文章的时候,效果最好。
5.空间索引spatial :了解就好,几乎不用

 

 

Mysql设置默认编码格式为UTF-8(修复MySQL中文乱码)

Linux下MySQL设置编码格式

前言:MySQL是大家必备的数据库,但在服务器上有时新装的MySQL默认编码格式不正确,导致无法正常显示中文,因此需要重设默认编码

查看编码格式

  • 连接进入MySQL后,执行:show variables like ‘%char%’;
  • 查看自己的编码格式
  • 通用模式为下图,如果你的配置和下图相同,那么请检查你的表默认格式
  • 在这里插入图片描述

添加配置文件

  • MySQL的配置文件为:my.cnf
  • 路径一般在:/etc/my.cnf
  • 如果没看到可以执行指令搜索:find / -name my.cnf
  • 备注:没该文件MySQL也能正常启动,my.cnf的作用在于提供配置参数,不存在则使用默认参数(所以会导致编码问题),不存在该文件的同学只要新建一个到**/etc**下即可

添加文件内容

  • 如果已有my.cnf文件,则在原有文件内容下添加
[client]
default-character-set=utf8
[mysqld]
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci
  • 没有的话新建后添加内容即可

重启MySQL

  • 执行指令:service mysqld restart完成重启
  • 成功后重新连接MySQL
  • 执行**show variables like ‘%char%’;**再次查看格式
  • 正常情况,这里就可以显示中文了

截图对比

修改前:
在这里插入图片描述
在这里插入图片描述
修改后:
在这里插入图片描述
在这里插入图片描述

其他

    • 若数据库编码已经正确仍不能显示中文。执行show create table tableName;
    • 执行**alter table tableName character set utf8;**来修改表编码
    • 正常表编码:
      在这里插入图片描述
posted @ 2021-01-16 14:07  天气之子A  阅读(302)  评论(0)    收藏  举报