InnoDB存储引擎学习笔记---第一章

来源:互联网 发布:淘宝上便宜的光纤模块 编辑:程序博客网 时间:2024/05/04 12:51
1.1 定义数据库和实例

     数据库物理操作系统文件或其他形式文件类型的集合
     实例:mysql数据库由后台线程以及一个共享内存区构成。(数据库实例才是真正操控数据库文件的)
          简单的说:数据库是文件的集合,是依照某种数据模型组织起来并存放于二级存储器中的数据集合;数据库实例是程序,是位于用户与操作系统之间的一种数据管理软件,应用程序只有通过数据库实例才能和数据库打交道。

     mysql被设计成为一个单线程多进程框架的数据库;mysql数据库实例在系统上表现就是一个进程。

     mysql配置文件位置:mysql --help|grep my.cnf / mysql --help

Windows下mysql --help中的



Linux下mysql --help|grep my.cnf 

1.2 MySQL体系结构
     
     mysql由以下几部分构成:
          连接池组件,管理服务和工具组件,SQL接口组件,查询分析器组件,优化器组件,缓冲组件,插件式存储引擎,物理文件;

     mysql数据库区别于其他数据库的重要一个特点就是其插件式的表存储引擎。

     要注意的是:存储引擎是基于表的,不是数据库。

1.3 mysql存储引擎

     InnoDB存储引擎:InnoDB存储引擎支持事务,其设计的目标是主要面向在线事务处理(OLTP)的应用。其特点是行锁设置,支持外键,并支持类似于oracle的非锁定读,即默认读取操作不会产生锁。从mysql 5.5.8版本开始,InnoDB是默认的存储引擎,默认的隔离级别为 REPEATABLE

     MyISAM存储引擎:MyISAM存储引擎不支持事务、表锁设计,支持全文检索,主要面向一些OLAP数据库应用。
          MyISAM的一个与众不同的地方是他的缓冲池只缓存索引文件,而不缓冲数据文件。
          MyISAM存储引擎由MYD和MYI组成,MYD用来存放数据文件,MYI用来存放索引文件。

     NDB存储引擎: NDB引擎是一个集群存储引擎;NDB的特点是数据全部放在内存中,因此主键查找的速度极快,并且通过添加NDB数据存储节点可以线性的提高数据库性能。

     Mermory存储引擎:Memory存储引擎将数据存储在内存中,数据库重启或崩溃,表中数据将会消失。他/她非常适合做存储临时数据的临时表;Memory存储引擎默认使用哈希索引

     此外还有 Archive存储引擎,Federated存储引擎,Maria存储引擎等其他存储引擎。

1.4 连接MySQL(远程连接)
     
     TCP/IP
     
    1、改表法。
将mysql数据库中的user表中的host属性进行修改
修改为
      帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" (%指代的是任意地方进行远程登录,也可将%换为IP地址如下面的192.168.1.6)

 
mysql -u root -p*********mysql>use mysql; mysql>update user set host = '%' where user = 'root'; mysql>select host, user from user; mysql>FLUSH PRIVILEGES;

  2、授权法。
     例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。 
      
 GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION; 

     例如:如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码 
 GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY 'mypassword' WITH GRANT OPTION; 




 


     

0 0
原创粉丝点击