MySQL(二)

一、存储引擎

1、什么是存储引擎

  存储引擎就是表的类型,针对不同的存储引擎,mysql会有不同的处理逻辑

2、存储引擎介绍 

  InnoDB  | DEFAULT | Supports transactions, row-level locking, and foreign keys(默认)

  Supports transactions        事务

  row-level locking                 行级锁

  foreign keys       外键(建立关系)

  开启事务就是写sql(增删改查)语句,事务就是通常跟改有关的sql语句,也就是说开启事务就是修改表记录的sql语句,写完了后最后来一个关闭事务,这些sql语句要么同时成功,要么同时失败,其中有任意一条sql语句不成功,前面做成功的都不成功。比如交易,有3个人(甲乙丙),甲要给丙100元,中间需要通过乙(中间人,要抽提成哦!抽30吧!),最后甲付了100,乙拿了30,丙收了70,这就算交易成功,但凡乙没拿到30或丙没收到70,那么交易失败(写代码也一样),这一系列操作是不可分割的。

  常用的存储引擎有:

  1、create table t1(x int)engine=myisam;    

  速度快,没什么功能:会把表存成3个文件(t1.frm:表结构,t1.MYD:表数据,t1.MYI:表的索引信息)

  create table t2(x int)engine=blackhole;    

  黑洞引擎(垃圾回收站),什么东西进去都没了:(t2.frm:表结构)

  create table t3(x int)engine=memory;

  关闭mysql,再进来,表里就没东西了(清空数据),数据是存在内存的:(t3.frm:表结构)

   create table t4(x int)engine=innodb;

  (t4.frm:表结构,t4.idb:innodb的数据)

二、配置文件管理
  \s:查看MySQL当前客户端与服务端的编码情况

   

  1、在MySQL安装目录下,找到mysql文件,在里面建一个my.ini的配置文件,在里面写配置

    配置格式:

    把客户端统称为client,没必要一个一个写,mysql下写的是哪个用户,哪个才是真正的root用户

      [client]

      user='root'

      password='111111'

      default-character-set=utf8    

    只针对mysql这个客户端的配置,mysqld中的是全局配置,而此处的则是只针对mysql这个命令的局部配置

      [mysql]

      user='dragon'

      password='123456'

      default-character-set=utf8  

      default-storage-engine=innodb

     执行下面的操作需把mysql服务停止后干掉(mysqld  --remove)再启动      

    在执行mysqld命令时,下列配置会生效,即mysql服务启动时生效

      [mysqld]

      忘密码#: skip-grant-tables

      character_set_server=utf8   

#!!!如果没有[mysql],则用户在执行mysql命令时的配置以[client]为准

 



posted @ 2017-10-20 20:12  俺老孫  阅读(132)  评论(0编辑  收藏  举报