一:mysql的介绍:

mysql数据库是工作于线程模式的。是一种关系型数据库,有严格的数据模型结构,这样在并发读写量大的时候,就不得不对其进行扩展,而这种方式扩展还是非常麻烦的。

由于读操作是可以缓存的,所以我们可以为mysql提供缓存服务器。

程序读取数据时先查缓存服务器,再查mysql数据库,这样如果缓存有访问的内容,那么就可以节省 访问时间。

二:关系型数据管理系统 RDBMS

 关系模型中主要组件:

数据方案:数据库

表,视图(虚表,基于某种关系用语句形成的),索引,

存储过程,存储函数:都是由sql编程接口写的sql代码段进而让用户完成相关的操作

触发器:当一个修改类的语句发生时,能够触发另外一个或者一组的语句发生 也是代码段

游标:有点类似于C语言中的指针

事务:同时执行或者同时不执行  满足ACID测试

用户:实现资源分派,数据访问授权

wKioL1P7IFLhy52gAACjUoTB_Zc339.jpg

连接管理器:接受用户查询语句

存储引擎借助于事务管理器和锁管理器是对数据并发控制

存储引擎可以作为插件式的调换,决定数据库是否支持事务管理都是有其设定的

恢复管理器:数据发生崩溃时,将数据恢复到期初状态

优化器:选择优化后的路径 交给储存引擎

三:数据存储机制

数据根据索引顺序存放称为索引顺序存放

数据时按需随机存储称为堆文件

四:mysql的核心组件

连接池:认证、线程重用、连接数限制、内存检查、缓存;

SQL接口:DDL,DML,关系型数据库的基本抽象

parser:查询转换、对象权限检查;

优化器:访问路径,性能相关的统计数据

caches和buffers:与存储引擎自身相关的I/O性能提升工具

存储引擎:执行SQL语句中的操作,有MyISAM,InnoDB、Memory、Merge等

具体组件以及流程:

wKiom1P7H7uwrK49AAM-APCYzfc435.jpg

Mysql的数据文件:

文件和日志:

文件:数据文件和索引文件

日志:事务日志、二进制日志、查询日志、慢查询日志、错误日志、中继日志;其中事务日志、二进制日志不可缺少

查看MySQL的服务器变量或状态变量:

MariaDB的各种工作属性是通过其服务器变量来定义的:

 SHOW {GLOBAL|SESSION} VARIALES [LIKE '']; 

 MariaDB运行时的诸多统计数据会被记录在状态变量;

  SHOW {GLOBAL|SESSION} STATUS [LIKE ''];

五:安装方式:

rpm包安装,二进制通用格式,源码编译安装,本次介绍源码安装

1.安装cmake (跨平台编译器)

cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,

这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台编译。

2.为mariadb 提系统用户

groupadd -r mysql

usradd -g mysql -d /mydata/data -r mysql

创建  /mydata/data目录为数据库数据目录

mkidr -pv /mydata/data

更改数据库数据目录的属主属组为mysql

chmod mysql:mysql /mydata/data

3.执行cmake . -DWITH_SPHINX_STORAGE_ENGINE=1 -DWITH_SSL=system -DMYSQL_DATADIR=/mydata/data

如果出现以下错误:

wKioL1P7IVHx4aVUAADZ2OfSBP4252.jpg

则需要将包删掉重新安装,记着用make clean 先清理即可

4.执行make && make install

5.为mariadb提供配置文件

[root@guzenghui support-files]# cp my-large.cnf /etc/mysql.cnf  # 这里必须以cnf结尾,不能用conf结尾

[root@guzenghui support-files]# vim /etc/mysql.cnf

在其中加上 datadir=/mydata/data即可

6.为mariadb提供服务脚本使其支持service启动

在/usr/local/mysql下使用scripts/mysql_install_db --user=mysql --datadir=/mydata/data 初始化mariadb

注意必须在/usr/local/mysql 下使用此命令 否则会出现一下错误

wKiom1P7IIDAwjygAAFkjYXp-5I463.jpg

7.为能用chkconfig 控制 需要 用 chkconfig --add mysqld

8.启动服务 验证是否可以连接Mysql

[root@guzenghui mariadb-10.0.12]# service mysqld restart Shutting down MySQL.. [确定] Starting MySQL. [确定] 
[root@guzenghui mariadb-10.0.12]# mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 4 Server version: 5.5.5-10.0.12-MariaDB-log Source distribution Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>

至此我们mariadb的编译安装已经完成。