mysql体系结构
一、连接层
思想
为解决资源的频繁分配-释放所造成的问题,为数据库连接建立一个【@cctvboy】“缓冲池”。
原理
预先在缓冲池中放入ν_ⅹ" cctvboy7813一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。
作用
进行身份验证、线程重用,连接限制,检查内存,数据缓存;管理用户的连接,线程处理等需要缓存的需求
查看最大连接数
show variables like '%max_connections%';
二、SQL层
管理服务和工具组件
从备份和恢复的安全性、复制、集群、管理、配置、迁移和元数据等方面管理数据库
sQL接口组件
进行DML、DDL,存储过程、视图、触发器等操作和管理;用户sQL命令接口
解析器组件
验证和解析sQL命令
查询优化器组件
对sQL语句查询进行优化“选取、投影和连接”
缓存和缓冲区
由一系列小缓存组成的。比如表缓存,记录缓存,key缓存,权限缓存等
三、插件式存储引擎
MySQL的存储引擎是插件式的。它根据MySQL AB公司提供的文件访问层的一个抽象接口来定制一种文件访问机制,这种访问机制就叫存储引擎
MylSAM
它查询速度快,有较好的索引优化和数据压缩技术。但是它不支持事务。
lnnoDB
它支持事务,并且提供行级的锁定,应用也相当广泛。
BDB
不再从底层支持BDB
Memory
适合存储临时数据
Archive
适合存储历史数据
四、物理文件层
支持的文件类型
EXT3、EXT4、NTFS、NFS
文件内容
数据文件日志文件配置文件其他文件
MySQL安装部署
四种安装Mysql软件的文档
仓库安装
rpm -i
dnf install mysql-server
rpm -qa | grep mysql tar xvf mysql-8.0.30-1.el8.x86_64.rpm-bundle.tar
dnf localinstall mysql-community-server-8.0.30-1.el8.x86_64.rpm \
mysql-community-client-8.0.30-1.el8.x86_64.rpm \
mysql-community-common-8.0.30-1.el8.x86_64.rpm \
mysql-community-icu-data-files-8.0.30-1.el8.x86_64.rpm \
mysql-community-client-plugins-8.0.30-1.el8.x86_64.rpm \
mysql-community-libs-8.0.30-1.el8.x86_64.rpm
tar xvf mysql-8.0.30-1.el8.x86_64.rpm-bundle.tar
dnf localinstall mysql-community-server-8.0.30-1.el8.x86_64.rpm \
mysql-community-client-8.0.30-1.el8.x86_64.rpm \
mysql-community-common-8.0.30-1.el8.x86_64.rpm \
mysql-community-icu-data-files-8.0.30-1.el8.x86_64.rpm \
mysql-community-client-plugins-8.0.30-1.el8.x86_64.rpm \
mysql-community-libs-8.0.30-1.el8.x86_64.rpm
systemctl start mysqld
if [ $? -eq 0 ]
then
echo "安装成功"
else
echo "安装失败"
fi
oldpasswd=`grep "password" /var/log/mysqld.log | awk '{print $NF}'`
newpasswd='Redhat123.'
mysqladmin -uroot -p$oldpasswd password $newpasswd
echo "密码修改成功"
