MySQL【数据库】

数据库的种类

        最常用的数据库模式主要有两种,即关系型数据库非关系型数据库

关系型数据库:

  • 生产环境主流的关系型数据库有 Oracle、Microsoft SQL Server、MySQL/MariaDB等。
  • 数据以表格形式存储,具有固定的模式(schema),SQL语句标准,数据存放在disk
  • 关系型数据库在保持数据安全和数据一致性方面很强,遵循 ACID 理论 ACID指的的事务的4大特性
  • 适用于需要复杂查询、事务性操作数据完整性保证的场合,如金融、会计等领域。

非关系型数据库:

  • 生产环境主流的非关系型数据库有 MongoDB、Memcached、Redis
  • 数据存储形式多样,如键值对、文档、宽列存储、图形数据库
  • 非关系型数据库是关系数据库的一个重要补充
  • 适用于大数据量高并发分布式存储灵活数据模型的场合,如社交网络、物联网等。

Mysql类型

1、MySQL Community Server:社区版本,开源免费,但不提供官方技术支持。MySQL Community Server也是我们通常用的MySQL的版本。根据不同的操作系统平台细分为多个版本。

2、MySQL Enterprise Edition:企业版本,需付费,可以试用30天。

3、MySQL Cluster:集群版,开源免费。可将几个MySQL Server封装成一个Server。MySQL Cluster CGE 高级集群版,需付费。

数据库存储引擎

数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引、锁定等功能,使用不同的存储引擎,还可以 获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。MySQL的核心就是存储引擎

MySQL引擎功能: 除了可以提供基本的存取功能,还有更多功能事务功能、锁定、备份和恢复、优化以及特殊功能。

1、InnoDB存储引擎:默认引擎,最常用的。

InnoDB是事务型数据库的首选引擎,支持事务安全表(ACID),支持行锁定和外键;InnoDB是默认的MySQL引擎。

InnoDB特点:

支持事务处理,支持外键,支持崩溃修复和并发控制。如果需要对事务的完整性要求比较高(比如银行),要求实现并发控制(比如售票),那选择InnoDB有很大的优势。如果需要频繁的更新、删除操作的数据库,也可以选择InnoDB,因为支持事务的提交(commit)和回滚(rollback)。

2、MyISAM存储引擎:(了解)

MyISAM基于ISAM存储引擎,并对其进行扩展。它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。MyISAM拥有较高的插入、查询速度,但不支持事务

MyISAM特点:

插入数据快,空间和内存使用比较低。如果表主要是用于插入新记录和读出记录,那么选择MyISAM能实现处理高效率。如果应用的完整性、并发性要求比较低,也可以使用。

12306查询 只生成一条数据这种适合

3、MEMORY内存型引擎(了解)

MEMORY存储引擎将表中的数据存储到内存中,为查询和引用其他表数据提供快速访问。

MEMORY特点:

所有的数据都在内存中,数据的处理速度快,但是安全性不高。如果需要很快的读写速度,对数据的安全性要求较低,可以选择MEMOEY。它对表的大小有要求,不能建立太大的表。所以,这类数据库只使用在相对较小的数据库表。

事务要符合四个条件(ACID)

事务具有四个特性原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability)。这四个特性也简称ACID性。

(1)原子性:事务是应用中最小的执行单位,就如原子是自然界最小颗粒,事务要么成功,要么撤回.具有不可再分的特征一样。事务是应用中不可再分的最小执行体。(最小了,不可再分了)

(2)一致性:事务执行的结果,必须使数据库从一个一致性状态,变到另一个一致性状态比如:当数据库中只包含事务成功提交的结果时,数据库处于一致性状态。一致性是通过原子性来保证的。

(3)隔离性:当涉及到多用户操作同一张表时,数据库会为每一个用户开启一个事务。各个事务的执行互不干扰,任意一个事务的内部操作对其他并发的事务都是隔离的。也就是说:并发执行的事务之间不能看到对方的中间状态,并发执行的事务之间不相互影响。(说白了,就是你做你的,我做我的!)

(4)持续性:持续性也称为持久性指事务一旦提交对数据所做的任何改变,都要记录到永久存储器中,通常是保存进物理数据库。即使数据库崩溃了,我们也要保证事务的完整性。


源码包安装 MySql:

此处为语雀内容卡片,点击链接查看:源码包管理 · 语雀

Yum安装MySql:

1.关闭防火墙和selinux;mysql的官方网站:www.mysql.com
#下载:
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

2.安装mysql的yum仓库
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
#安装yum工具包
yum -y install yum-utils

3.修改yum源,安装5.7版本
vim /etc/yum.repos.d/mysql-community.repo

4.安装MYySql:
yum install -y mysql-community-server

5.启动服务:
systemctl start mysqld
#设置开机启动
systemctl enable mysqld
#关闭服务
systemctl stop mysqld

6.由于初始密码在日志文件,查找密码:
grep password /var/log/mysqld.log

7.修改密码:
#第一种:未登录MySQL【修改密码必须大小写数字和特殊符号都有】
mysqladmin -u root -p'HquYfZ3u/01z' password '密码'
mysqladmin -u root -p'旧密码' password '新密码'
#第二种:登录MySql【修改密码必须大小写数字和特殊符号都有】
alter user '用户名'@'localhost' identified by '密码';

8.通过配置文件设置密码强度
vim /etc/my.cnf
#添加:
validate_password=off
#重启生效:
systemctl restart mysqld

/var/lib/mysql #存放数据文件

/usr/share/mysql #用于存放字符集、语言等信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值