文章目录
简介
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB之于MySQL,类似于CentOS之于Redhat。由于Oracle拥有MySQL的名字和海豚商标,基于此如果各公司继续用Mysql可能存在法律纠纷,于是纷纷开始选择兼容性好而且研发力量强大的MariaDB。
MariaDB基于事务的Maria存储引擎,替换了MySQL的MyISAM存储引擎,它使用了Percona的 XtraDB,InnoDB的变体,分支的开发者希望提供访问即将到来的MySQL 5.4 InnoDB性能。这个版本还包括了 PrimeBase XT (PBXT) 和 FederatedX存储引擎。
一、数据库中的数据结构 与SQL语言
1、数据库简介及数据结构
数据库系统是一个用于数据查询管理的软件,数据库系统查询的是以特定格式存储数据的数据库。所以数据库系统可以操作的数据库并不止一个。数据库下的数据整合单位为表,表中每行为一个元组,也就是一个实体属性的集合,表中每一列为每个实例的形同属性值的集合。
MariaDB属于关系型数据库系统(RDBS),即用实体的一些属性信息,构成一个集合(元组),多个实体的具有相同属性集元组构成一张列表,表内在通过域,键,属性和元组上的约束条件与其他表建立关联关系。
数据要遵守的约束 constraint:
- 主键:在众多列中有一个列(或多个列)被标识为特殊列,此列中属性的值在众多实体相同的属性中具有唯一性,该列中的值被称为主键。主键的值不能为空。且一张表中只能有一个主键。
- 唯一键:在众多列中有一个(或多个列),每个值都能表示出该元组,也就是说该列的值具有唯一性。该列中的元素可以成为唯一键
- 外键:一个表中的某字段可填入的数据取决于另一个表的主键或唯一键已有的数据
- 检查:字段值在一定范围内
2、SQL语言
SQL语言可以理解成向服务端提问的语言,SQL语言按照功能可以分为几种子语言:
- 数据定义语言(DDL):创建和管理数据库,包括创建修改表,定义索引,管理约束条件。DDL操作对象为数据库内部的对象。
- 数据操纵语言(DML):查询和更新数据库中的数据,用于添加,删除,更新,查询。DML的操作对象是表的内部数据。而不会涉及到表的定义,结构的修改。
- 数据控制语言(DCL) :对用户的权限控制
- 数据查询语言(dql):对数据库查询
SQL语言查询的的操作可以分为:
- 限制(选择):挑选出符合条件的行。返回与查询语句中的条件(断言相匹配的元组)
- 投影:只返回元组中相关的列,即返回元组中相关的属性
- 联结:返回与联结条件相匹配的元组,
联结条件可以分为:
1.有条件联结(条件联结)
2.无需满足任何条件(笛卡尔积)
二、MariaDB安装及初始化配置
1、安装
Centos 7 yum仓库默认就有mariadb安装包直接安装即可。
2、配置防火墙
很多生产环境中需要使用站库分离的技术,如果需要让root管理员帐户能够用远程访问数据库,可设置防火墙允许对本机mysql服务程序的访问请求即可:
3、初始化服务
安装完成后需进行初始化设置:
确认服务是否开启,默认监听在tcp的3306端口
4、测试
①使用mysql -u
“用户名” -p 指明用密码登录,回车输入密码即可。可输入help;查看使用帮助。
tips:
- -u用用户名之间可用空格也可不用空格。
- -p不指定密码可回车输入密文密码,如想明文输入与密码间不能用空格。
如:
②使用set password = password(‘密码’) ; 设定密码
使用select user();
查看当前登录用户
tips:
- mariadb中命令都要以";" 结尾,表示命令输入完毕。
- 数据库中的用户root和其他用户名与当前操作系统用户名无关,你可以把数据库软件当作一种操作系统,有自己的用户列表,root为管理员。
三、管理用户及授权
生产中数据库管理系统需要多部门协同管理数据库内容,所以需要创建出多个数据库专用的帐户,然后再进行合理的权限分配,以达到提升工作效率的目的。
1、创建用户
创建用户的语法为:CREATE USER 用户名@主机名 IDENTIFIED BY '密码';
tips: 数据库中用户名全称由两部分组成,“用户名”@“登陆终端(可以是IP地址)”。
2、给用户授权
给用户授权可以使用GRANT
命令,授权命令常用格式如下:
命令 | 作用 |
| 对某个特定数据库中的特定表单给予授权 |
| 对某个特定数据库中的所有表单给予授权 |
| 对所有数据库及所有表单给予授权 |
| 对某个数据库中的所有表单给予多个授权 |
| 对所有数据库及所有表单给予全部授权(谨慎操作) |
3、查看用户权限
查看用户权限可以使用show grants for "用户名全称";
4、移除用户权限
移除用户权限,可以使用命令revoke
代替GRANT
即可。
5、详细操作
1、权限管理
mysql对于权限这块有以下限制:
对于数据库及内部其他权限如下:
对于用户和IP的权限如下:
2、查看权限
3、授权
4、取消授权
授权实例如下:
四、创建及管理数据库、表单
1、CRUD操作
MariaDB数据库管理系统最重要的作用之一就是能够管理数据库及表单内容,一个数据库中可以存放多个数据表,数据表是数据库中最实质的内容。
常用管理数据库及表单命令:
用法 | 作用 |
| 创建新的数据库 |
| 描述表单 |
| 更新表单中的数据 |
| 指定使用的数据库 |
| 显示当前已有的数据库 |
| 显示当前数据库中的表单 |
| 从表单中选中某个记录值 |
| 从表单中删除某个记录值 |
2、查询操作符
要想让查询结果更加精准,那么就需要把select结合where命令来一起使用了,where是用于在数据库中进行匹配查询的条件命令,咱们可以设置一个查询的条件,那么就仅会查找出符合该条件的数据内容,常用的参数包括有:
参数 | 作用 |
= | 相等 |
<>或!= | 不相等 |
> | 大于 |
< | 小于 |
>= | 大于或等于 |
<= | 小于或等于 |
BETWEEN | 在某个范围内 |
LIKE | 搜索一个例子 |
IN | 在列表中搜索多个值 |
五、数据库备份与恢复
1、数据库备份
mysqldump
命令用于备份数据库数据,格式为:“mysqldump [参数] [数据库名称]
,其中参数与mysql命令大致相同,-u参数用于定义登陆数据库的用户名称,而-p参数代表密码提示符。
2、数据库恢复
数据恢复方法如下: