【MySQL面试题pro版-12】

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 【MySQL面试题pro版-12】


MySQL是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的RDBMS (Relational Database Management System,关系数据库管理系统)应用软件之一。

MySQL有关权限的表都有哪几个?

MySQL中用于控制权限的表主要有六张表,它们分别是:

  1. user表:存储全局权限,即用户是否有权连接到MySQL服务器,以及用户密码等信息。它包含Host, User, Password等字段。
  2. db表:定义了用户对某个数据库的权限,例如是否允许用户访问某个特定的数据库。
  3. tables_priv表:定义了用户对某个数据库中的某个表的权限,比如选择、插入、更新和删除等操作。
  4. columns_priv表:定义了用户对某个表中的某个列的权限,可以更细粒度地控制用户访问数据的能力。
  5. procs_priv表:用来指定哪些用户可以执行哪些存储过程。
  6. proxies_priv表:用来管理代理用户及其相关权限。

这些权限表在MySQL数据库初始化时由mysql_install_db脚本创建,并存放于mysql数据库内。通过这些表,MySQL实现了灵活而强大的权限管理体系,确保了数据库的安全性和数据的完整性。

Mysqld的完整性约束包含哪些

数据完整性是指数据的精确和可靠性,分为以下四类:实体完整性:规定表的每一行在表中是惟一的实体。域完整 性:是指表中的列必须满足某种特定的数据类型约束,其中约束又包括取值范围、精度等规定。参照完整性:是指 两个表的主关键字和外关键字的数据应一致,保证了表之间的数据的一致性,防止了数据丢失或无意义的数据在数据 库中扩散。用户定义的完整性:用户定义的完整性即是针对某个特定关系数据库的约束条件,它反映某一具体应用 必须满足的语义要求。与表有关的约束:包括非空约束(NOT NULL)和表约束(PRIMARY KEY、foreign key、check、 UNIQUE等等) 。

数据库事务是什么

事务是作为一个单元的一组有序的数据库操作,事务的特性在Spring框架中可分为ACID。如果组中的所有操作都成 功,则认为事务成功,即使只有一个操作失败,事务也不成功。如果所有操作完成,事务则提交,其修改将作用于所 有其他数据库进程。如果一个操作失败,则事务将回滚,该事务所有操作的影响都将取消。

MyISAM Static和MyISAM Dynamic有什么区别?

在 MyISAM Static 上的所有字段有固定宽度。动态 MyISAM 表将具有像 TEXT,BLOB 等字段,以适应不同长度的数 据类型。MyISAM Static 在受损情况下更容易恢复。

为什么MyISAM不支持行锁,而InnoDB支持?

MyISAM不支持行锁而InnoDB支持,这主要是因为两者在设计上的不同以及InnoDB对高级事务功能的支持导致的。具体如下:

  • 设计差异:InnoDB是MySQL 5.5版本之后默认采用的事务型存储引擎,而MyISAM是MySQL老版本中默认的存储引擎。InnoDB的设计目标是提供更高的并发性能和数据完整性,而MyISAM更注重于性能优化和查询速度。
  • 锁机制:InnoDB支持行级锁和表级锁,默认为行级锁,这使得它在高并发写操作时能够提供更好的性能。相比之下,MyISAM只支持表级锁,这意味着任何一个写操作都可能锁定整张表,导致其他读写操作被阻塞,从而影响并发性能。
  • 事务支持:InnoDB支持事务处理,包括提交和回滚,这是通过其行锁机制实现的,它允许多个事务并发执行而不互相干扰。而MyISAM不支持事务,因此也就不需要行锁这一复杂的机制。

总的来说,由于InnoDB提供了更细粒度的锁定机制,它在处理并发事务时更为高效和安全。而MyISAM虽然在某些情况下可能更快,但它缺乏事务和行锁支持,在需要高并发处理的场景下可能不是最佳选择。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2天前
|
存储 关系型数据库 MySQL
MySQL第五战:常见面试题(下)
MySQL第五战:常见面试题(下)
|
2天前
|
关系型数据库 MySQL
MySQL第四战:视图以及常见面试题(上)
MySQL第四战:视图以及常见面试题(上)
|
2天前
|
SQL 关系型数据库 MySQL
Python与MySQL数据库交互:面试实战
【4月更文挑战第16天】本文介绍了Python与MySQL交互的面试重点,包括使用`mysql-connector-python`或`pymysql`连接数据库、执行SQL查询、异常处理、防止SQL注入、事务管理和ORM框架。易错点包括忘记关闭连接、忽视异常处理、硬编码SQL、忽略事务及过度依赖低效查询。通过理解这些问题和提供策略,可提升面试表现。
35 6
|
2天前
|
存储 关系型数据库 MySQL
【MySQL面试题pro版-11】
【MySQL面试题pro版-11】
17 0
|
2天前
|
关系型数据库 MySQL 数据库
docker MySQL删除数据库时的错误(errno: 39)
docker MySQL删除数据库时的错误(errno: 39)
23 0
|
2天前
|
Java 关系型数据库 MySQL
【MySQL × SpringBoot 突发奇想】全面实现流程 · xlsx文件,Excel表格导入数据库的接口(下)
【MySQL × SpringBoot 突发奇想】全面实现流程 · xlsx文件,Excel表格导入数据库的接口
11 0
|
2天前
|
Java 关系型数据库 MySQL
【MySQL × SpringBoot 突发奇想】全面实现流程 · xlsx文件,Excel表格导入数据库的接口(上)
【MySQL × SpringBoot 突发奇想】全面实现流程 · xlsx文件,Excel表格导入数据库的接口
15 0
|
2天前
|
前端开发 关系型数据库 MySQL
【MySQL × SpringBoot 突发奇想】全面实现流程 · 数据库导出Excel表格文件的接口
【MySQL × SpringBoot 突发奇想】全面实现流程 · 数据库导出Excel表格文件的接口
24 0
|
2天前
|
SQL 关系型数据库 Serverless
阿里云关系型数据库RDS
阿里云关系型数据库RDS
16 2
|
2天前
|
关系型数据库 MySQL 数据库
mysql 设置环境变量与未设置环境变量连接数据库的区别
设置与未设置MySQL环境变量在连接数据库时主要区别在于命令输入方式和系统便捷性。设置环境变量后,可直接使用`mysql -u 用户名 -p`命令连接,而无需指定完整路径,提升便利性和灵活性。未设置时,需输入完整路径如`C:\Program Files\MySQL\...`,操作繁琐且易错。为提高效率和减少错误,推荐安装后设置环境变量。[查看视频讲解](https://www.bilibili.com/video/BV1vH4y137HC/)。
24 3
mysql 设置环境变量与未设置环境变量连接数据库的区别

推荐镜像

更多