1.数据:描述事务的符号记录;
2.表:将不同的记录组织在一起;
3.数据库:表的集合,是存储数据的仓库;
数据库管理系统是实现对数据库资源有效组织,管理和存取的系统软件,他在操作系统的支持下,支持用户对数据库的各项操作。
BMS主要包括以下功能:
1、数据库的建立和维护功能,包括建立数据库的结构和数据的录入与转换,数据库的转储与恢复,数据库的重组与性能监视等功能。
2、数据定义功能:包括定义全局数据结构,局部逻辑数据结构,存储结构,保密模式及信息格式等功能。保证存储在数据库中的数据正确,有效和相容,以防止不合语义的错误数据被输入或输出。
3、数据操纵功能:包括数据查询统计和数据更新两个方面。
4、数据库的运行管理功能:这是数据库管理系统的核心部分,包括并发控制,存取控制,数据库内部维护等功能。
5、通信功能:DBMS与其他软件系统之间的通信,如Access能与其他Office组件进行数据交换。
DBMS的工作模式:
1.接受应用程序的数据请求和处理请求;
2.将用户的数据请求(高级指令)转换为复杂机器代码(底层指令);
3.实现对数据库的操作;
4.从数据库的操作中接受查询结果;
5.对查询结果进行处理(格式转换);
6.将处理结果返回给用户;
总结:
应用程序接受数据据请求,并将请求转发到DBMS,DBMS将数据请求(高级指令)转换为机器能识别的机械代码(底层指令)到数据库,数据库再将查询的结果由底层指令转换为高级指令转发到DBMS,DBMS把结果返回给用户。
关系数据库系统是基于关系模型的数据库系统;
关系模型的数据结构使用简单易懂的二维数据表;
每一行称为一条记录,用来描述一个对象的信息;
每一列称为一个字段,用来描述对象的一个属性;
实体:也称为实例,对应现实世界中可区别于其他对象的“事件”或“事物”
如银行客户、银行账户等。
属性:实体所具有的某一特性,一个实体可以有多个属性;如“银行客户”实体集中的每个实体均具有姓名、住址、电话等属性。
联系:实体集之间的对应关系称为联系,也称为关系;如银行客户和银行账户之间存在“储蓄”的关系。
所有实体及实体之间联系的集合构成一个关系数据库。
非关系数据库:存储数据不以关系模型为依据,不需要固定的表格式。
优点:
1、数据库可高并发读写;
2、对海量数据高效率存储与访问;
3、数据库具有高扩展性与高可用性;
常用的非关系型数据库:Redis、mongoDB等;
优点:
1.易于维护,都是使用表结构,格式一致;
2.使用方便,sql语言通过,可用于复杂查询;
3.复杂操作,支持sql,可用于一个表以及多个表之间非常复杂的查询;
缺点:
1.读写性能比较差,尤其是海量数据的高效率读写;
2.固定的表结构,灵活度稍欠;
3.高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈;
优点:
1.格式灵活:存储数据的格式可以是key,value形式,文档形式,图片形式等,使用灵活,应用场景广泛,而关系型数据库则只支持基础类型,可以高并发读写;
2.速度快:nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘。对海量数据高效率存储与访问;
3.高扩展性,高可用性;
4.成本低:nosql数据库部署简单,基本上都是开源软件;
缺点:
1.不提供sql支持,学习和使用成本较高;
2.无事务处理;
3.数据结构相对复杂,复杂查询方面稍欠;
4.好多数据写在内存中;
1、官网下载yum安装
由于centos7系统无Mysql的yum源只有MariaDB的,所以需要到官网下载yum源。
访问官网网址mysql.com,选择DOWNLOADS。
2、拉倒最下面选择MySQL Community(GPL) Downloads>>。
3、选择MySQL Community Server,进入后根据自己的需求下载对应版本包。
4、选择需要的版本、选择安装在什么系统上和选择系统的版本。
5、下载完成后将文件拖入机器中
6、查找之前老版本mysql的目录、并且删除老版本mysql的文件和库
rpm -qa|grep -i mysql
或rpm -qa | grep mariadb
rpm -e –nodeps 包名
#如果提示错误,尝试用下列命令执行
rpm -ev 包名 --nodeps
rpm -e --noscripts 包名
# 查询
find / -name mysql
# 显示下列结果
[root@localhost opt]# find / -name mysql
/etc/selinux/targeted/active/modules/100/mysql
/usr/lib64/mysql
/usr/share/mysql
# 依次删除
tar -zxvf mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar
8、安装
注意,安装时可能会出现以下问题,卸载 centos 自带的 mariadb 包后重新执行安装命令
rpm -qa | grep mariadb
[root@localhost opt]# rpm -qa | grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
卸载
[root@localhost opt]# rpm -e mariadb-libs-5.5.56-el7.x86_64 --nodeps
否则会出现一下报错:
[root@localhost opt]# rpm -ivh mysql-community-client-5.7.20-1.el7.x86_64.rpm
警告:mysql-community-client-5.7.20-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
错误:依赖检测失败:
mysql-community-libs(x86-64) >= 5.7.9 被 mysql-community-client-5.7.20-1.el7.x86_64 需要
解决办法如下:
注意:这是由于yum安装了旧版本的GPG keys造成的 解决办法:后面加上
--force --nodeps
如:
rpm -ivh mysql-community-common-5.7.20-1.el7.x86_64.rpm --force --nodeps
依次执行下面命令:
rpm -ivh mysql-community-common-5.7.20-1.el7.x86_64.rpm --force --nodeps
rpm -ivh mysql-community-libs-5.7.20-1.el7.x86_64.rpm --force --nodeps
rpm -ivh mysql-community-client-5.7.20-1.el7.x86_64.rpm --force --nodeps
rpm -ivh mysql-community-server-5.7.20-1.el7.x86_64.rpm --force --nodeps
vim /etc/my.cnf
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
[mysqld]
skip-grant-tables
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
......省略......
保存退出!
重新加载服务;
[root@localhost opt]# systemctl restart mysqld
systemctl start mysqld.service
mysql
update mysql.user set authentication_string=password('123456') where user = 'root';
flush privileges;
12、停止mysql,修改my.cnf,将之前加入 skip-grant-table 去除,重启服务。
[root@localhost opt]# systemctl stop mysqld.service
[root@localhost opt]# vim /etc/my.cnf
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
[mysqld]
# skip-grant-tables
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
......省略......
保存退出!
重新加载服务;
[root@localhost opt]# systemctl restart mysqld
mysql -uroot -p123456
开放远程连接命令
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。