数据库存储引擎有哪些

数据库存储引擎有哪些
1、InnoDB存储引擎:默认引擎,最常用的。
  InnoDB是事务型数据库的首选引擎,支持事务安全表(ACID),支持行锁定和外键;InnoDB是默认的MySQL引擎
InnoDB特点: 
  支持事务处理,支持外键,支持崩溃修复和并发控制。如果需要对事务的完整性要求比较高(比如银行),要求实现并发控制(比如售票),那选择InnoDB有很大的优势。如果需要频繁的更新、删除操作的数据库,也可以选择InnoDB,因为支持事务的提交(commit)和回滚(rollback)。

2、MyISAM存储引擎:(了解)
     MyISAM基于ISAM存储引擎,并对其进行扩展。它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。MyISAM拥有较高的插入、查询速度,但不支持事务。
MyISAM特点: 
     插入数据快,空间和内存使用比较低。如果表主要是用于插入新记录和读出记录,那么选择MyISAM能实现处理高效率。如果应用的完整性、并发性要求比较低,也可以使用。

3、MEMORY内存型引擎(了解)
   MEMORY存储引擎将表中的数据存储到内存中,为查询和引用其他表数据提供快速访问
MEMORY特点: 
   所有的数据都在内存中,数据的处理速度快,但是安全性不高。如果需要很快的读写速度,对数据的安全性要求较低,可以选择MEMOEY。它对表的大小有要求,不能建立太大的表。所以,这类数据库只使用在相对较小的数据库表。

4、Archive(归档引擎)

安装数据库

[root@mysql-server ~]# yum install -y mysql-community-server
启动服务
[root@mysql-server ~]# systemctl start mysqld
设置开机启动
[root@mysql-server ~]# systemctl enable mysqld

查看状态
systemctl status mysqld

看下日志是否启用
tail -f /var/log/mysqld.log

看下端口是否正常
ss -ntpl | grep 3306

查看密码

cd /var/log ls 有一个mysqld.log文件
cat mysqld.log 查看文件、

cat mysqld.log | grep password
grep 'temporary password' /var/log/mysqld.log
grep password /var/log/mysqld.log

登录以后修改口令

yum安装修改密码方法
mysql>alter user 'root'@'localhost' identified by 'QianFeng@123';
mysqladmin -u root -p'WenKai@123' password 'WenKai@456'
注:修改密码必须大小写数字和特殊符号都有。




二进制安装默认情况下没有开启复杂口令
set password='新口令';
set password='123456';
exit

登录mysql以后修改口令方法(2),并取消口令过期
alter user user() identified by '123456';
update mysql.user set password_expired='N';
flush privileges;
exit

在外部修改口令
/usr/local/mysql/bin/mysqladmin -u root -p  password 'QianFeng@123'

清理安装环境:

# yum erase mariadb mariadb-server mariadb-libs mariadb-devel -y

yum remove mysql-community-server -y
可能会有残留 查询一下是否有这些安装包
rpm -qa | egrep "mariadb mariadb-server mariadb-libs mariadb-devel" 
rpm -qa | egrep "mariadb" 

查询mysql是否存在 有的话就不用删
id mysql
# rm -rf /etc/my* //配置文件
ls /etc/my*
# rm -rf /var/lib/mysql //清库
cd /var/lib/mysql

二进制包装好后不想要怎么办

第一步 需要先停服务
systemctl stop mysqld
cd /usr/local  ll
rm -rf mysql

mysql是登录的
mysqld是启服务的

192.168.171.16的原始密码

ru2,qoT%KQR9

192.168.171.15的原始数据库密码
WenKai@123
mysql -uroot -p’3TuWoBtCGr-o’

创建库

库----相当于一个目录,存放数据的
库里面存放的表, 相当于是文件。
每一行叫做记录,除第一行。
每一列叫一个字段。列上面的第一个叫字段名称。
创建一个库:---->查看库--->进入这个库----->创建表----->查看表:查看表名,表的字段(表结构),表里面的内容(表记录),查看表的状态----->修改表:添加字段,删除字段,修改字段----->修改记录(更新记录),添加记录,删除记录。各种查询,删除表,删除库。

1.创建库
mysql> create database 库名;
mysql> create database qf2401;
2.查看数据库
mysql> show databases;
3.进入数据库
mysql> use 库名
4.查看当前所在的库
mysql> select database();
5删除库
drop database qf2401;

设置强口令
openssl rand -base64 12 | tr -d '/+%=' | cut -c 1-12


数据库连接文件:ip 端口 数据库名称 用户名称 口令

授权 设置口令 访问许可 一键完成
root为普通用户授权
create database qf2401; 建库
grant all privileges on qf2401.* to 'qf2401'@'%' identified by '123456';

qf2401.* 数据库名 .*所有的表
'qf2401' '用户名'@'授权主机'
identified by 访问口令

flush privileges; 刷新

mysql -uroot -p -h 10.36.108.254 登录远程主机


授权root
grant all privileges on *.* to 'root'@'%' identified by '123456';


*.*任意数据库
'root'@'%' :root登录任意主机
identified by '123456' 
存储引擎查看:
mysql> show engines;

看你的mysql当前默认的存储引擎:
show variables like '%storage_engine%';
### 数据库存储引擎概述 数据库存储引擎数据库管理系统(DBMS)中的核心组件之一,负责处理数据的物理存储、检索以及更新等操作[^1]。不同的存储引擎具有各自的特点,在性能、可靠性和适用场景上有所差异。 ### 常见存储引擎的工作原理比较 #### MyISAM (MySQL) MyISAM 是 MySQL 中一种较为传统的表类型,提供了快速读取速度的优势,但是不支持事务处理和行级锁定。这种类型的表格适合于那些查询频繁而修改较少的应用环境[^4]。 #### InnoDB (MySQL) InnoDB 支持完整的 ACID 特性(原子性、一致性、隔离性和持久性),并实现了 MVCC 多版本并发控制协议以提高并发度;另外还具备外键约束等功能。其内部采用了缓冲池(Buffer Pool),可以显著提升磁盘I/O效率,并通过变更缓存(Change Buffering)进一步优化写入密集型负载下的表现。 #### LSM Tree-Based Engines (如 LevelDB, RocksDB) 这类基于LSM树(Log Structured Merge-tree)架构设计出来的存储引擎特别擅长处理大量随机写入请求。因为它们会先将新记录追加到内存中的memtable里,当达到一定阈值后再批量刷入硬盘形成SSTable文件。这种方式减少了随机IO次数从而提高了整体吞吐量。像Apache Cassandra这样的NoSQL系统就选用了此类技术作为底层支撑[^3]。 ### 如何选择合适的存储引擎? 对于具体项目来说,应该依据业务需求来挑选最恰当的数据管理工具: - 如果应用程序主要是执行大量的只读查询,则可以选择更注重读取性能而非复杂特性的简单化方案; - 对于需要高可用性和严格一致性的在线交易应用,那么带有完整ACID属性保障的服务可能是更好的选项; - 当面临海量数据分析任务时,考虑采用能够高效应对大规模写入作业并且易于水平扩展的产品将会更加明智[^2]。 ```sql -- 示例 SQL 查询语句展示如何查看当前 MySQL 实例中各张表所使用的存储引擎 SELECT table_name AS `Table`, engine AS `Engine` FROM information_schema.tables WHERE table_schema = 'your_database'; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值