MYSQL数据库


一、数据库基本概念

1、数据库的组成

1.数据:描述事务的符号记录;

2.表:将不同的记录组织在一起;

3.数据库:表的集合,是存储数据的仓库;

2、数据库管理系统

数据库管理系统是实现对数据库资源有效组织,管理和存取的系统软件,他在操作系统的支持下,支持用户对数据库的各项操作。

BMS主要包括以下功能:

1、数据库的建立和维护功能,包括建立数据库的结构和数据的录入与转换,数据库的转储与恢复,数据库的重组与性能监视等功能。

2、数据定义功能:包括定义全局数据结构,局部逻辑数据结构,存储结构,保密模式及信息格式等功能。保证存储在数据库中的数据正确,有效和相容,以防止不合语义的错误数据被输入或输出。

3、数据操纵功能:包括数据查询统计和数据更新两个方面。

4、数据库的运行管理功能:这是数据库管理系统的核心部分,包括并发控制,存取控制,数据库内部维护等功能。

5、通信功能:DBMS与其他软件系统之间的通信,如Access能与其他Office组件进行数据交换。

3、数据库系统(DBMS)

DBMS的工作模式:
在这里插入图片描述
1.接受应用程序的数据请求和处理请求;

2.将用户的数据请求(高级指令)转换为复杂机器代码(底层指令);

3.实现对数据库的操作;

4.从数据库的操作中接受查询结果;

5.对查询结果进行处理(格式转换);

6.将处理结果返回给用户;
总结:
应用程序接受数据据请求,并将请求转发到DBMS,DBMS将数据请求(高级指令)转换为机器能识别的机械代码(低层指令)到数据库,数据库再将查询的结果由低层指令转换为高级指令转发到DBMS,DBMS把结果返回给用户。

二、关系型数据库

关系数据库系统是基于关系模型的数据库系统​;
关系模型的数据结构使用简单易懂的二维数据表​;

每一行称为一条记录,用来描述一个对象的信息;
每一列称为一个字段,用来描述对象的一个属性;
在这里插入图片描述
实体:也称为实例,对应现实世界中可区别于其他对象的“事件”或“事物”
如银行客户、银行账户等。

属性:实体所具有的某一特性,一个实体可以有多个属性;如“银行客户”实体集中的每个实体均具有姓名、住址、电话等属性。

联系:实体集之间的对应关系称为联系,也称为关系;如银行客户和银行账户之间存在“储蓄”的关系。

所有实体及实体之间联系的集合构成一个关系数据库。

三、非关系数据库

非关系数据库:存储数据不以关系模型为依据,不需要固定的表格式。

优点:

1、数据库可高并发读写;

2、对海量数据高效率存储与访问;

3、数据库具有高扩展性与高可用性;

常用的非关系型数据库:Redis、mongoDB等;

四、关系型数据库和非关系型数据库的区别

1.关系型数据库

优点:

1.易于维护,都是使用表结构,格式一致;

2.使用方便,sql语言通过,可用于复杂查询;

3.复杂操作,支持sql,可用于一个表以及多个表之间非常复杂的查询;

缺点:

1.读写性能比较差,尤其是海量数据的高效率读写;

2.固定的表结构,灵活度稍欠;

3.高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈;

2.非关系型数据库

优点:

1.格式灵活:存储数据的格式可以是key,value形式,文档形式,图片形式等,使用灵活,应用场景广泛,而关系型数据库则只支持基础类型,可以高并发读写;

2.速度快:nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘。对海量数据高效率存储与访问;

3.高扩展性,高可用性;

4.成本低:nosql数据库部署简单,基本上都是开源软件;

缺点:

1.不提供sql支持,学习和使用成本较高;

2.无事务处理;

3.数据结构相对复杂,复杂查询方面稍欠;

4.好多数据写在内存中;

五、Mysql安装

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
 # 依次删除

在这里插入图片描述
7、解压安装包

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

在这里插入图片描述
9、修改配置文件

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

在这里插入图片描述
10、启动mysql,进入mysqlclient;

systemctl start mysqld.service
mysql

在这里插入图片描述
11、修改ROOT密码,刷新

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

在这里插入图片描述
在这里插入图片描述
13、使用密码登录,开放远程连接命令

mysql -uroot -p123456

开放远程连接命令

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

在这里插入图片描述


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值