mariadb 1
mariadb(第一章)
数据库介绍
关系型数据库
(1)关系型数据库介绍
关系型数据库模型是把复杂的数据结构归结为简单的二元关系(既二维格式表)。例如宏福教育某一期的学生关系就是一个二元关系,在关系型数据库中,对数据的操作几乎全部建立在一个或多个关系表上,通过对这些关联表格分类,合并,连接或选取等运算来实现数据的管理。
关系型数据库诞生距今已经有40多年了,从理论产生发展到现实产品,例如:大家最常见的mysql和oracle数据库,oracle在数据库领域里上升到了霸主的地位,形成每年高达数百亿美元的庞大产业市场,而mysql也是不容忽视的数据库,以至于被oracle中心收购了。
(2)关系型数据库表之间的关系列举



非关系型数据库(nosql)
非关系型数据库也称之为nosql数据库,请注意,nosql的本意是“not only SQL”,指的是非关系型数据库,而不是“no SQL”的意思,因此nosql的产生并不是要彻底否定关系型数据库,而是作为传统关系型数据库的一个有效补充,NoSQL数据库在特定的场景下可以发挥出难以想象的高效率和高性能。
随着互联网的兴起,超大规模和高并发量的微博,微信,SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,例如:传统的关系型数据库IO瓶颈,性能瓶颈都难以有效突破,于是开始出现了大批针对特定场景,以高性能和使用便利为目的的功能特异化的数据库产品,NoSQL类的数据库就是在这样的情景中诞生并得到了非常迅速的发展
NoSQL是非关系型数据库的广义定义。它打破了长久以来关系型数据库与ACID理论大一统的局面,NoSQL数据存储不需要固定的表结构,通常也不存在连接操作,在大数据存取上具备关系型数据库无法比拟的性能优势,该术语(NoSQL)在2009年初得到了广泛的认同
google的BigTable与Amazon的Dynamo是非常成功的商业NoSQL,一些开源的NoSQL体系,如
Redis, mongodb也逐渐的越来越受到各大中小型企业的欢迎和追捧
一、关系型数据库
关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织
优点:
- 易于维护:都是使用表结构,格式一致;
- 使用方便:SQL语言通用,可用于复杂查询;
- 复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。
缺点:
- 读写性能比较差,尤其是海量数据的高效率读写;
- 固定的表结构,灵活度稍欠;
- 高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。
二、非关系型数据库
非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合,可以是文档或者键值对等。
优点:
- 格式灵活:存储数据的格式可以是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等,使用灵活,应用场景广泛,而关系型数据库则只支持基础类型。
- 速度快:nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘;
- 高扩展性;
- 成本低:nosql数据库部署简单,基本都是开源软件。
缺点:
- 不提供sql支持,学习和使用成本较高;
- 无事务处理;
- 数据结构相对复杂,复杂查询方面稍欠。
常见的数据库
非关系型数据库(nosql):mongodb,redias
关系型数据库:oracle,db2,sqlserver,mysql,mariadb
Mariadb发源
MySQL之父Widenius先生离开了Sun之后,觉得依靠Sun/Oracle来发展MySQL,实在很不靠谱,于是决定另开分支,这个分支的名字叫做MariaDB。

RDBMS
Relational Database Management System

- sql语句主要分为:
- DQL:数据查询语言,用于对数据进行查询,如select
- DML:数据库操作语言,对数据库进行增删改查,如:insert,update,delete
- TPL:事物处理语言,对事物进行处理,包括begin,transaction,commit,rollback
- DCL:数据控制语言,如grant,revoke
- DDL:数据定义语言:进行数据库,表的管理等,如create,drop
- CCL:指针控制语言,通过控制指针完成表的操作,如declare cursor
- sql是一门特殊的语言,专门用来操作关系型数据库
- 不区分大小写


mariadb安装
[mariadb]
name = MariaDB
baseurl = http://mirrors.ustc.edu.cn/mariadb/yum/10.3/centos7-amd64/
gpgkey=http://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1 忘记mysql的root密码
vim /etc/my.conf.d/server.conf
添加skip-grant-tables
mysql -uroot | mysql -u root -p 查看数据库
show databases;
#查看创建数据库状态
show create database testdb;
#使用哪个库
use testdb 修改数据库
create database test03 #创建数据库
create database testdb character set utf8; #删除数据库
drop database testdb; #修改数据库默认字符集
alter database 库名 default character set utf8; #查看当前用户
select user(); #给aaa添加查询,创建,更新,删除的权限(在任意主机上)
grant select,create,update,delete on test03.grade to aaa@'%'; #给aaa赋予test03数据库的grade表最高权限(在任意主机上)
grant all privileges on test03.grade to aaa@'%'; #查看aaa用户的权限(root用户)
show grants for 'aaa'; #收回aaa在任意数据库的任意表的最高权限
revoke all on *.* from aaa@'%'; #查看自己权限
show grants

mariadb 1的更多相关文章
- Docker笔记一:基于Docker容器构建并运行 nginx + php + mysql ( mariadb ) 服务环境
首先为什么要自己编写Dockerfile来构建 nginx.php.mariadb这三个镜像呢?一是希望更深入了解Dockerfile的使用,也就能初步了解docker镜像是如何被构建的:二是希望将来 ...
- 续 CentOS7(mini) 运行MVC5 + Mariadb
上一篇,介绍了在CentOS7上使用mono官方二进制安装包快速安装mono环境 并且成功运行了一个Owin自宿主应用(Booker) 由于Owin自宿主应用不需要System.Web的支持,所以可以 ...
- 读书笔记--SQL必知必会--常用MySQL(MariaDB)命令
DBMS信息 显示DBMS的版本 select version(); 显示DBMS状态 status; 显示DBMS资源状态 show status; 显示DBMS支持的权限 show privile ...
- 从MySQL 5.5迁移到Mariadb 10.1.14
从MySQL 5.5迁移到Mariadb 10.1.14 迁移计划如下: 1.备份MySQL 5.5的数据库,对指定库进行备份. 2.还原到Mariadb,然后建立复制. 3.然后就可以愿意啥时候切换 ...
- mariadb数据库忘记密码如何找回
1.systemctl stop mariadb ==>停止mariadb数据库 2.mysqld_safe --skip-grant-tables & ==>进入单机模式 3.m ...
- CentOS 7 x64下Apache+MySQL(Mariadb)+PHP56的安装
每次搭建新服务器,都要来来回回把这些包再装一下,来来回回搞了不下20遍了吧,原来都是凭经验,配置过程中重复入坑是难免的,故写此文做个备忘.虽然有像xampp这样的集成包,但是在生产环境的Linux发行 ...
- Ubuntu 16.04 LAMP server 指南 - 配置 Apache2.4,PHP7,和MariaDB(而不是MySQL)
翻译自:https://www.howtoforge.com/tutorial/install-apache-with-php-and-mysql-on-ubuntu-16-04-lamp/ 昨天在虚 ...
- CentOS 7.0 使用 yum 安装 MariaDB 与 MariaDB 的简单配置
1.安装MariaDB 安装命令 yum -y install mariadb mariadb-server 安装完成MariaDB,首先启动MariaDB,两条命令都可以 systemctl sta ...
- MySQL/MariaDB/PerconaDB-提权条件竞争漏洞
背景 2016年11月01日,国外安全研究员Dawid Golunski在 MySQl, MariaDB 和 PerconaDB 数据库中发现条件竞争漏洞,该漏洞允许本地用户使用低权限(CREATE/ ...
- CentOS7下安装配置MariaDB
参考: http://www.2cto.com/os/201504/394141.html http://outofmemory.cn/code-snippet/2533/mysql-create-d ...
随机推荐
- jraft日志复制
jraft的日志复制是指从leader往follower复制logEntry的过程. 日志复制从节点成为leader开始.在nodeImpl的becomeLeader中 private void be ...
- Jenkins配置总结
1.配置全局 系统管理->全局工具配置 2.配置 自己安装安装jdk,git,以及maven 3.系统管理->系统配置 3.1配置Jenkins URL 3.2 配置SSH Servers ...
- Jmeter 常用函数(16)- 详解 __split
如果你想查看更多 Jmeter 常用函数可以在这篇文章找找哦 https://www.cnblogs.com/poloyy/p/13291704.htm 作用 根据分隔符分割传递给它的字符串 语法格式 ...
- 第一篇scrum冲刺博客--Interesting-Corps
第一篇scrum冲刺博客 一.Alpha阶段各成员任务 鲍鱼铭 任务名称 预计时间 主页页面和探测空间设计及布局实现 6h 主页页面跳转社区功能及社区设计及布局实现 6h 搜索页面跳转.设计及布局实现 ...
- Jmeter+Ant+jenkins实现api自动化测试的持续集成
0基础上手教程 @jmeter的使用 jmeter是一个基于java语言编写的开源测试工具,广泛应用于接口测试,性能测试,自动化测试. 接口自动化的编写教程,将于后续分享. 问题一:为什么用ant,而 ...
- Linux离线安装mysql 5.6详细步骤
一.安装MySQL 1.下载安装包 mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz 2.卸载系统自带的Mariadb rpm -qa|grep mariadb / ...
- FJOI2020 游记
Day -1 啥都不会,药丸 看了看统考题,好难,爆零的节奏 文化课OI双爆炸 尽力吧 Day 0 花三个多小时才到考场 福州真的好热 签到 在小礼堂待了一会,顺便给手机充了电 四点试机,今年用了新系 ...
- Vue基础(二)---- 常用特性
常用特性分类: 表单操作 自定义指令 计算属性 侦听器 过滤器 生命周期 补充知识(数组相关API) 案例:图书管理 1.表单操作 基于Vue的表单操作:主要用于向后台传递数据 Input 单行文本 ...
- “计数质数”问题的常规思路和Sieve of Eratosthenes算法分析
题目描述 题目来源于 LeetCode 204.计数质数,简单来讲就是求"不超过整数 n 的所有素数个数". 常规思路 一般来讲,我们会先写一个判断 a 是否为素数的 isPrim ...
- Ubuntu安装Windows官方版QQ和微信(使用deepin wine)