MySQL架构和存储引擎、系统默认数据库介绍

采用C/S架构,即客户端/服务器。客户端和服务器区分开,通过客户端发送请求来和服务器交互。

存储引擎:MySQL管理数据文件的一种技术。

  • myisam
  • innodb

  • myisam特点:myisam功能简单,所以数据访问快

  • innodb:功能丰富,效率没有myisam高
mysql5.5版本以前使用的是myisam作为默认存储引擎,5.5以后使用的默认存储引擎就是innodb了。
  • .frm文件:负责表格式定义
  • .MYD文件:存放表的数据文件
  • .MYI:存放表的索引文件

  • .frm:存放表的定义文件

  • idb:存放表的索引和数据文件
MySQL5.5以前:
早期innodb类型的数据表只有一个frm文件,而数据文件只有一个,这个数据文件存放了innodb类型的所有表的数据。

修改方法: 启用:innodb_file_per_table=ON (MariaDB 5.5以后版是默认值)
mysql> select @@innodb_file_per_table;
+-------------------------+
| @@innodb_file_per_table |
+-------------------------+
|                       1 |
+-------------------------+
1 row in set (0.00 sec)

修改存储引擎的方法:

方法1:
vim /etc/my.cnf
[mysqld]
default_storage_engine= InnoDB

方法2:
CREATE TABLE tb_name(... ) ENGINE=InnoDB;
ALTER TABLE tb_name ENGINE=InnoDB;
  • show table status from tb_name\G
  • show table status like ‘tb_name%’

  • Performance_Schema:系统自带的数据库Performance_Schema使用的存储引擎

  • Memory:数据存放在内存中,主要存放一些临时数据。information_schema这个系统数据库就是使用的memory存储引擎。

  • mysql:mysql的核心数据库,主要负责存储数据库的用户、权限设置、关键字等mysql自己需要使用的控制和管理信息

  • Performance_Schema:MySQL 5.5开始新增的数据库,用于收集数据库服务器性能参数
  • information_schema:MySQL 5.0之后产生的,一个虚拟数据库,物理上并不存在information_schema数据库,存放MySQL的元数据信息。
  • sys 数据库:MySQL5.7之后新增加的数据库,库中所有数据源来自performance_schema。目标是把performance_schema的把复杂度降低,让DBA能更好的阅读这个库里的内容

  • 服务器选项:在MySQL运行的时候命令行中添加也可以在配置文件中添加

  • MySQL服务器系统变量:可以在环境中通过set命令修改
  • 系统的状态变量:记录数据库系统的当前状态

  • 命令行设置

shell> /usr/bin/mysqld_safe --skip-name-resolve=1
shell> /usr/libexec/mysqld --basedir=/
  • 配置文件设置
vim /etc/my.cnf
[mysqld]
skip_name_resolve=1
skip-grant-tables
[root@CentOS8 ~]#  /usr/libexec/mysqld --verbose --help

服务器系统变量:可以分全局和会话两种

SHOW GLOBAL VARIABLES; #只查看global变量
SHOW [SESSION] VARIABLES;#查看所有变量(包括global和session)

#查看指定的系统变量
SHOW VARIABLES LIKE 'VAR_NAME';
SELECT @@VAR_NAME;

修改服务器变量的值:

修改全局变量:仅对修改后新创建的会话有效;对已经建立的会话无效
SET GLOBAL system_var_name=value;
SET @@global.system_var_name=value;

修改会话变量:
SET [SESSION] system_var_name=value;
SET @@[session.]system_var_name=value;

#查看set命令用法:help set
  • 服务器状态变量:分全局和会话两种
  • 状态变量(只读):用于保存mysqld运行中的统计数据的变量,不可更改
mysql> show status\G

通过官方文档查看。

Original: https://www.cnblogs.com/heyongshen/p/16685246.html
Author: 背对背依靠
Title: MySQL架构和存储引擎、系统默认数据库介绍

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/578598/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 2021 — 冰与火之歌

    大半夜的睡不着,越发的想给 2021 年作个总结,一想更睡不着了,来唠叨下吧。 一拖再拖的婚礼。本来定在今年正月的婚礼,因为疫情,不敢办,村里也不让办;然后选在国庆吧,卧槽,封城了…

    Linux 2023年6月16日
    0115
  • Linux之Keepalived高可用

    一、高可用介绍 一般是指2台机器启动着完全相同的业务系统,当有一台机器down机了,另外一台服务器就能快速的接管,对于访问的用户是无感知的。 硬件通常使用:F5 软件通常使用:Ke…

    Linux 2023年5月27日
    0108
  • 16-ArrayList和LinkedList的区别

    1.1、作用 ArrayList和LinkedList都是实现了List接口的容器类,用于存储一系列的对象引用。它们可以对元素的增删改查进行操作 对于ArrayList,它在集合的…

    Linux 2023年6月7日
    086
  • 001.云桌面整体解决方案实施

    桌面云概述 桌面云介绍 本桌面云整体交付方案基于深信服aDesk桌面云实现。 深信服桌面云是采用云计算的思想,将用户的桌面操作系统以服务的形式通过网络进行交付,可以让用户在不同设备…

    Linux 2023年6月13日
    0111
  • Docker私有仓库部署

    修改daemon.json 重启docker服务 镜像上传至私有仓库 标记此镜像为私有仓库的镜像 再次启动私服容器 Original: https://www.cnblogs.co…

    Linux 2023年6月8日
    070
  • Go channel使用注意事项

    说道这里,还是总结下channel的几个特性吧: 给一个 空 channel发送数据,会造成永远阻塞 从一个 空 channel接收数据,会造成永远阻塞 给一个已经关闭的chann…

    Linux 2023年6月6日
    099
  • LeetCode-47. 全排列 II

    题目来源 题目详情 给定一个可包含重复数字的序列 nums , 按任意顺序 返回所有不重复的全排列。 示例 1: 输入: nums = [1,1,2]输出:[[1,1,2],[1,…

    Linux 2023年6月7日
    081
  • Go函数下篇:defer和闭包

    package main import "fmt" func work() int { num := 10 defer func(i int) { i += 2…

    Linux 2023年6月7日
    090
  • Linux之export命令

    镜像下载、域名解析、时间同步请点击阿里云开源镜像站 export命令用于将shell变量输出为环境变量,或者将shell函数输出为环境变量。 一个变量创建时,它不会自动地为在它之后…

    Linux 2023年5月27日
    0119
  • 致远 OA 组合 getshell

    测试版本为: 致远 A8-V5 协同管理软件 V6.1SP2 1.获取cookie信息 2….

    Linux 2023年5月28日
    0311
  • .Net FW项目跑不起来且无Error信息

    阅文时长 | 0.17分钟字数统计 | 280.8字符主要内容 | 1、引言&背景 2、分析步骤 3、解决方案 4、声明与参考资料『.Net FW项目跑不起来且无Error…

    Linux 2023年6月13日
    095
  • 实验1:SDN拓扑实践

    实验1:SDN拓扑实践 基础要求 a) mininet运行结果图 b)2的执行结果截图 2.a)3台交换机,每个交换机连接1台主机,3台交换机连接成一条线。 2.b)3台主机,每个…

    Linux 2023年6月7日
    099
  • [随记]-linux侦听端口的4种方法

    侦听 192.168.0.1 服务器上的 10086 端口是否打开 1. telnet telnet是windows 内置的功能,当然 linux 也有。用法: tenlet 19…

    Linux 2023年6月6日
    0104
  • 常见题目

    这几天有朋友反映给小编说让多发点关于面试的文章,小编深知从事IT行业的难处,跳槽多,加班多,薪资不乐观,大多数朋友都想找新的工作,进入一个好的公司,今天小编就给大家带来了C语言面试…

    Linux 2023年6月13日
    093
  • APACHE快速安装流程梳理

    快速安装开始: 【环境配置1】 yum -y install gcc gcc-c++ wget 保留操作(可跳过): yum -y removeapr-util-devel apr…

    Linux 2023年6月6日
    094
  • powershell版,Fail2Ban脚本,阻止黑客攻击sshd

    关键字 powershell Deny Hosts Fail2Ban ssh linux 近期惊闻 黑客团伙利用SSH暴力破a解,入侵远程设备 用于挖矿和DDoS攻击 疑似来自罗马…

    Linux 2023年6月14日
    078
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球