mysql架构简介、及linux版的安装

一、mysql的架构介绍

1、mysql简介

1、概述

MySQL是一个关系型教据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。
MySQL是一种关联歌据库管理系统(RDBMS),将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

  • MySQL 是开源的,所以你不需要支付额外的费用。
  • MySQL 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
  • MySQL 使用标准的SQL数据语言形式。
  • MySQL 可以允许于多个系统上,并且支持多种语言。这些编程语言包括C、C++、Python、Java、 Perl、PHP、Eiffel、Ruby和Tcl等。
  • MySQL 对PHP有很好的支持,PHP是目前最流行的Web开发语言。
  • MySQL 支持大型数据库,支持5000万条记录的数据仓库,32位系统表文件最大可支持4GB,64位系统支持最大的表文件为8TB。
  • MySQL 是可以定制的,采用了GPL协议,你可以修改源码来开发自己的Mysql系统。

2、高级MySQL

  • MySQL 内核
  • SQL 优化攻城狮
  • MySQL 服务器的优化
  • 各种参数常量设定
  • 查询语句优化
  • 主从复制
  • 软硬件升级
  • 容灾备份
  • SQL 编程

2、MySQL Linux版的安装

版本为:mysql5.5

1、下载地址

官网下载地址:https://dev.mysql.com/downloads/mysql/

2、检查当前系统是否安装过mysql

方式一: ps -ef | grep mysql 查看端口或服务有没有。
方式二:以rpm的方式检查是否安装过mysql。
查询命令:rpm -qa | grep -i mysql
删除命令:rpm -e RPM软件包名(该名字是上一个命令查出来的名字)

没安装过:
在这里插入图片描述
安装过:
在这里插入图片描述

3、安装mysql服务端(注意提示)

在这里插入图片描述

4、安装mysql客户端

5、查询mysql安装时创建的mysql用户和mysql组

在这里插入图片描述
或者可以执行mysqladmin --version命令,类似java -version 如果打出消息,即为成功。
在这里插入图片描述

6、mysql服务的启+停

启动服务:service mysql start

停止服务:service mysql stop
在这里插入图片描述

7、mysql服务启动后,开始连接

首次连接成功
在这里插入图片描述

注意这里,因为MySQL默认没有密码,所以我们没有输入密码就直接连上了。
按照安装Server中的提示修改登录密码。
在这里插入图片描述

8、自启动mysql服务

在这里插入图片描述
在这里插入图片描述

9、修改配置文件位置

在这里插入图片描述
注意:拷贝后,需要重新启动服务。

10、修改字符集和数据存储路径

1.看看字符集:

show variables like ‘%character%’;
show variables like ‘%char%’;

看看出现的结果:
在这里插入图片描述
在这里插入图片描述
默认的是客户端和服务端都用的latin1,所以会乱码。

2.修改
在这里插入图片描述
按照上面的需求在my.cnf中进行配置
在当前行下插入一行并进入插入模式:用o或者O命令
在这里插入图片描述
3.重启mysql
service mysql stop;
service mysql start;

4.重新连接后重新create database并使用新建库,然后在重新建表试试。

mysql的安装位置

在linux下查看安装目录 ps -ef |grep mysql
在这里插入图片描述

3、MySQL主要配置文件

1、二进制日志log-bin

主要作用:主从复制
在这里插入图片描述

2、错误日志log-error

默认是关闭的,记录严重的警告和错误信息,每次启动和关闭的详细信息等。

3、查看日志log

默认是关闭的,记录查询的sql语句,如果开启会减低mysql的整体性能,因为记录日志也是需要消耗系统资源的。

4、数据文件

  • 两系统

    • windows

      D:\devSoft\MySQLServer5.5\data目录下可以挑选很多库

    • linux

      看看当前系统中的全部后再进去
      在这里插入图片描述

      默认路径:/var/lib/mysql

  • frm文件

    存放表结构

  • myd文件

    存放表数据

  • myi文件

    存放表索引

5、如何配置

  • windows

    my.ini文件

  • Linux

    /etc/my.cnf文件

4、MySQL逻辑架构介绍

总体概述

和其他数据库相比,MySQL有点与众不同,他的架构可以在多种不同场景中应用并发挥好作用。主要它体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其他的系统以及数据的存储提取相分离。这种架构可以根据业务的需求和实际需要选择合适的存储引擎。

在这里插入图片描述

查询说明

1.连接层

最上层是一些客户端和连接服务,包含本地sock通信和大多数基于客户端/服务端工具实现的类似于tcp/ip的通信。主要完成一些类似于 连接处理、授权认证、及相关的安全方案。在该层上引入了线程池的概念,为通过认证安全接入的客户端提供线程。同样在该层上可以实现基于SSL的安全链接。服务器也会为安全接入的每个客户端验证它所具有的操作权限。

2.服务层

第二层架构主要完成大多少的核心服务功能,如SQL接口,并完成缓存的查询,SQL的分析和优化及部分内置函数的执行。所有跨存储引擎的功能也在这一层实现,如过程、函数等。在该层,服务器会解析查询并创建相应的内部解析树,并对其完成相应的优化如确定查询表的顺序,是否利用索引等,最后生成相应的执行操作。如果是select语句,服务器还会查询内部的缓存。如果缓存空间足够大,这样在解决大量读操作的环境中能够很好的提升系统的性能。

3.引擎层

存储引擎层,存储引擎真正的负责了MySQL中数据的存储和提取,服务器通过API与存储引擎进行通信。不同的存储引擎具有的功能不同,这样我们可以根据自己的实际需要进行选取。后面介绍MyISAM和InnoDB

4.存储层
数据存储层,主要是将数据存储在运行于裸设备的文件系统之上,并完成与存储引擎的交互。

5、MySQL存储引擎

查看命令

如何用命令查看
#看你的mysql现在已提供什么存储引擎:
mysql> show engines;

#看你的mysql当前默认的存储引擎:
mysql> show variables like ‘%storage_engine%’;

在这里插入图片描述

MyISAM和InnoDB
在这里插入图片描述
阿里巴巴、淘宝用的那个

在这里插入图片描述

  • Percona为MySQL数据库服务器进行了改进,在功能和性能上较MySQL有着很显著的提升。该版本提升了在高负载情况下的InnoDB的性能、为DBA提供一些非常有用的性能诊断工具;另外有更多的参数和命令来控制服务器行为。
  • 该公司新建了一款存储引擎叫xtradb完全可以替代innodb,并且在性能和并发上做得更好,
  • 阿里巴巴大部分mysq|数据库其实使用的percona的原型加以修改。
  • AliSql+AliRedis

如果有收获!!! 希望老铁们来个三连,点赞、收藏、转发。
创作不易,别忘点个赞,可以让更多的人看到这篇文章,顺便鼓励我写出更好的博客

猜你喜欢

转载自blog.csdn.net/weixin_45606067/article/details/107735025
今日推荐