mysql数据库面试核心概念

数据库基础
1.数据库分类
2.配置文件位置
3.修改密码
4.破解数据库密码
5.慢日志:sql语句的执行时间
6.数据类型
7.导入导出数据			
8.truncate和delete
9.事务:一组sql要么全部执行.要么全部不执行	
10.mysql的架构
11.范式
12.索引:加速查询数据1.分类关系型数据库:1.数据持久化存储2.结构化存储:字段,表的形式3.数据与表之间建立关联关系非关系型数据库:1.数据灵活存储2.数据存储内存2.配置文件主配置文件/etc/my.cnf扩展配置文件/etc/my.cnf.d/client.cnf:客户端配置文件/etc/my.cnf.d/mysql-server.cnf:服务端配置文件[mysqld]datadir=/var/lib/mysql 		   #存储地址socket=/var/lib/mysql/mysql.sock    #本机通信log-error=/var/log/mysql/mysqld.log #日志pid-file=/run/mysqld/mysqld.pid 	   #pid/etc/my.cnf.d/mysql-default-authentication-plugin.cnf:指定加密规则文件3.修改密码1.登录mysqlmysql -hlocalhost -P3306 -uroot -p;-h:指定地址,-P:端口,-u:用户,默认有个root用户,-p:密码2.设置和修改库密码设置:mysqladmin -uroot -p password 'tarena';修改:mysqladmin -uroot -p'tarena' password 'root';4.破解数据库密码1.配置文件/etc/my.cnf.d/mysql-server.cnf添加skip_grant_tables重启:systemctl restart mysql2.更新密码update mysql.user set authentication_string="" where user="root" and host="localhost";3.删除配置文件的:skip_grant_tables,重启服务5.慢日志:sql语句的执行时间show variables like "%slow_query_log":查询变量slow_query_log:开启慢日志参数long_query_time:10m, sql执行时间超过几秒被记录到日志慢日志的配置:/etc/my.cnf.d/mysql-server.cnf[mysqld]slow_query_log = 1slow_query_log_file = /path/to/your/slow_query.loglong_query_time = 2  # 设置慢查询的时间阈值,单位为秒6.数据类型(1)char(字符数),varchar(字符数)区别char:定义多少存多少,空格补齐,最多存255个字符varchar:定义多少存多少,最多存65532个字符(2)整型范围:数字的实际大小unsigned:从正数开始计数(3)float,double:分别为4,8个字节(4)枚举类型分为,ENUM,SETENUM:适用单个值字段。:选择其中的一个值存入SET:适用多个值的字段。:选择多个值存入7.导入导出数据1.查询mysql的系统变量show variables like "secure_file_priv"; 默认目录是:/var/lib/mysql-files/:secure_file_priv 是一个系统变量:MySQL 服务器将只允许SELECT ... INTO OUTFILE 和 LOAD_FILE() 这些操作中使用该目录下的文件。2.修改配置文件/etc/my.cnf.d/mysql-server.cnf,更改默认目录路径secure_file_priv=/myload 3.导入导出语法导入:导入文件的列数要和表的字段相同load data infile "/目录/文件" into table 库.表 \fields terminated by "分隔符" \lines terminated by "\n";--fields:原始文件列的分隔符,  lines:指定换行符导出:select 语句 into outfile "/目录/文件名"fields terminated by "分隔符" lines terminated by "\n";8.truncate和delete与 DELETE 语句不同,TRUNCATE 不会逐行删除数据,而是直接释放表所占用的空间并重置表。TRUNCATE 会将表中的自增列重置为其起始值(通常是1)。9.事务:一组sql要么全部执行.要么全部不执行(1)默认自己提交commit,修改变量,改为不自动提交SHOW VARIABLES LIKE 'autocommit';使用SET autocommit = 0;或SET autocommit = OFF;来关闭自动提交模式。使用SET autocommit = 1;或SET autocommit = ON;来开启自动提交模式。(2)取消内存执行的代码,rollback回滚,回滚后数据不写入硬盘性质: 原子,一致,隔离,持久10.mysql的架构客户端连接池管理工具        sql接口      解析器    查询优化器       缓存(图片资源)存储引擎(内存数据写入硬盘)InnoDB,MyISAM,MEMORY系统文件与日志(2)查看存储引擎show engines(3)查看存储引擎的变量show variables like "%engine%";11.范式(1)范式规范1NF:字段不可再分2NF:每个字段都直接依赖主键,否则拆分为多个表格3NF:某个字段的值如果可以通过其它字段求出或确定,则不单独作为一个字段存储.12.索引:加速查询数据分类:(1)作用效果:针对字段值普通索引:index唯一索引:unique主键:primary key(2)存储形式聚簇索引:数据和索引在一起非聚簇索引:(3)数据结构树形索引:btree,b+tree  哈希索引:hash全文索引:fulltext空间索引:(4)作用字段单列索引:作用单个字段复合索引:作用多个字段,使用时从左往右匹配

数据库基础
1.数据库分类
2.配置文件位置
3.修改密码
4.破解数据库密码
5.慢日志:sql语句的执行时间
6.数据类型
7.导入导出数据            
8.truncate和delete
9.事务:一组sql要么全部执行.要么全部不执行    
10.mysql的架构
11.范式
12.索引:加速查询数据

1.分类
    关系型数据库:
        1.数据持久化存储
        2.结构化存储:字段,表的形式
        3.数据与表之间建立关联关系
    非关系型数据库:
        1.数据灵活存储
        2.数据存储内存

2.配置文件
    主配置文件
        /etc/my.cnf
    扩展配置文件
        /etc/my.cnf.d/client.cnf:客户端配置文件
            
        /etc/my.cnf.d/mysql-server.cnf:服务端配置文件
            [mysqld]
            datadir=/var/lib/mysql            #存储地址
            socket=/var/lib/mysql/mysql.sock    #本机通信
            log-error=/var/log/mysql/mysqld.log #日志
            pid-file=/run/mysqld/mysqld.pid        #pid

        /etc/my.cnf.d/mysql-default-authentication-plugin.cnf:指定加密规则文件


3.修改密码
    1.登录mysql
        mysql -hlocalhost -P3306 -uroot -p;
        -h:指定地址,-P:端口,-u:用户,默认有个root用户,-p:密码
    
    2.设置和修改库密码
    
        设置:
         mysqladmin -uroot -p password 'tarena';
     
        修改:
         mysqladmin -uroot -p'tarena' password 'root';

4.破解数据库密码

    1.配置文件/etc/my.cnf.d/mysql-server.cnf添加
        skip_grant_tables

       重启:
        systemctl restart mysql

    2.更新密码
        update mysql.user 
        set authentication_string="" 
        where user="root" and host="localhost";


    3.删除配置文件的:skip_grant_tables,重启服务

5.慢日志:sql语句的执行时间

    show variables like "%slow_query_log":查询变量
    slow_query_log:开启慢日志参数
    long_query_time:10m, sql执行时间超过几秒被记录到日志

    慢日志的配置:/etc/my.cnf.d/mysql-server.cnf
    [mysqld]
    slow_query_log = 1
    slow_query_log_file = /path/to/your/slow_query.log
    long_query_time = 2  # 设置慢查询的时间阈值,单位为秒


6.数据类型

    (1)char(字符数),varchar(字符数)区别
        char:定义多少存多少,空格补齐,最多存255个字符
        varchar:定义多少存多少,最多存65532个字符

    (2)整型
        范围:数字的实际大小
        unsigned:从正数开始计数

    (3)float,double:分别为4,8个字节


    (4)枚举类型分为,ENUM,SET

        ENUM:适用单个值字段。:选择其中的一个值存入

        SET:适用多个值的字段。:选择多个值存入

7.导入导出数据

    1.查询mysql的系统变量

        show variables like "secure_file_priv"; 默认目录是:/var/lib/mysql-files/
        
        :secure_file_priv 是一个系统变量:MySQL 服务器将只允许SELECT ... INTO OUTFILE 和 LOAD_FILE() 这些操作中使用该目录下的文件。
    
    2.修改配置文件/etc/my.cnf.d/mysql-server.cnf,更改默认目录路径

        secure_file_priv=/myload 

    3.导入导出语法

        导入:导入文件的列数要和表的字段相同

        load data infile "/目录/文件" into table 库.表 \
                          fields terminated by "分隔符" \
                          lines terminated by "\n";

             --fields:原始文件列的分隔符,  lines:指定换行符

        导出:
            select 语句 into outfile "/目录/文件名"
                     fields terminated by "分隔符" 
                     lines terminated by "\n";
        
8.truncate和delete
    与 DELETE 语句不同,TRUNCATE 不会逐行删除数据,而是直接释放表所占用的空间并重置表。
    TRUNCATE 会将表中的自增列重置为其起始值(通常是1)。


9.事务:一组sql要么全部执行.要么全部不执行

    (1)默认自己提交commit,修改变量,改为不自动提交

        SHOW VARIABLES LIKE 'autocommit';
        使用SET autocommit = 0;或SET autocommit = OFF;来关闭自动提交模式。
        使用SET autocommit = 1;或SET autocommit = ON;来开启自动提交模式。

    (2)取消内存执行的代码,rollback回滚,回滚后数据不写入硬盘
    
    性质: 原子,一致,隔离,持久

    
10.mysql的架构
                                    客户端

                               连接池
      管理工具        
         sql接口      解析器    查询优化器       缓存(图片资源)

            存储引擎(内存数据写入硬盘)InnoDB,MyISAM,MEMORY

                          系统文件与日志
    
    (2)查看存储引擎
        show engines

    (3)查看存储引擎的变量
        show variables like "%engine%";


11.范式
    (1)范式规范
        1NF:字段不可再分
        2NF:每个字段都直接依赖主键,否则拆分为多个表格
        3NF:某个字段的值如果可以通过其它字段求出或确定,则不单独作为一个字段存储.


12.索引:加速查询数据
    分类:
    (1)作用效果:针对字段值
        普通索引:index
        唯一索引:unique
        主键:primary key
    (2)存储形式
        聚簇索引:数据和索引在一起
        非聚簇索引:
    (3)数据结构
        树形索引:btree,b+tree  
        哈希索引:hash
        全文索引:fulltext
        空间索引:
    (4)作用字段
        单列索引:作用单个字段
        复合索引:作用多个字段,使用时从左往右匹配

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/494996.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

window安装TradingView

目录 下载安装包 修改文件后缀,解压 将K线换成国内涨红跌绿样式 下载安装包 https://www.tradingview.com/desktop/ 下载完成后是.msix格式文件 (我在win10和win11的系统中尝试运行msix都没有成功,所以放弃直接双击运行msix&#xff…

畅捷通T+13管理员密码任意重置漏洞

复现版本 畅捷通13 漏洞复现 POST /tplus/ajaxpro/RecoverPassword,App_Web_recoverpassword.aspx.cdcab7d2.ashx?methodSetNewPwd HTTP/1.1 Host: 192.168.1.8:8080 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0 Accept…

搭建Elastic search群集

一、实验环境 二、实验步骤 Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎Elasticsearch目录文件: /etc/elasticsearch/elasticsearch.yml#配置文件 /etc/elasticsearch/jvm.options#java虚拟机 /etc/init.d/elasticsearch#服务启动脚本 /e…

三.统一异常Exception拦截处理

文章目录 前言一、先定义一个业务异常类二、定义全局异常处理器二、测试小插曲抛出异常:抛出自定义异常: 总结 前言 上一章对统一返回值进行封装,但是都是基于正常情况下的返回,系统难免会出现异常的情况,我们不可能在…

Xcode 16 编译弹窗问题、编译通过无法,编译通过打包等问题汇总

问题1:打包的过程中不断提示 :codesign 想要访问你的钥匙串中的密钥“develop 或者distribution 证书” 解决:打开钥匙串,点击证书---显示简介---信任----改为始终信任 (记住 :不能只修改钥匙的显示简介的…

汽车IVI中控开发入门及进阶(44):杰发科智能座舱芯片

概述: 杰发科技自成立以来,一直专注于汽车电子芯片及相关系统的研发与设计。 产品布局: 合作伙伴: 杰发科技不断提升产品设计能力和产品工艺,确保产品达 到更高的质量标准。目前杰发科技已通过ISO9001质 量管理体系与CMMIL3认证。 杰发科技长期合作的供应商(芯片代工厂、…

Linux系统安装部署xtrabackup

简介 xtrabackup一款强大的在线热备份工具备份过程中不锁库表,适合生产环境由专业组织Percona提供(改进MySQL分支) 下载xtrabackup xtrabackup官网地址:https://www.percona.com/ 进去官网后,下滑到底部导航栏&…

有没有检测吸烟的软件 ai视频检测分析厂区抽烟报警#Python

在现代厂区管理中,安全与规范是重中之重,而吸烟行为的管控则是其中关键一环。传统的禁烟管理方式往往依赖人工巡逻,效率低且存在监管死角,难以满足当下复杂多变的厂区环境需求。此时,AI视频检测技术应运而生&#xff0…

idea设置控制台日志输出自动换行

文章目录 1. 原因2. 方法一:3. 方法二: 1. 原因 你是否碰到ideal控制台输入日志是一行的效果,那是因为带了soft wrap。 2. 方法一: 最新版的IDEA设置控制台自动换行位置如下: Setting->Editor->General->C…

某科技局国产服务器PVE虚拟化技术文档

环境介绍 硬件配置 服务器品牌:黄河 型号:Huanghe 2280 V2 Cpu型号:kunpeng-920 磁盘信息 :480SSD * 2 ,4T*4 网卡:板载四口千兆 如下表 四台服务器同等型号配置,均做单节点虚拟化,数据保护采用底层r…

华为实训课笔记 2024 1223-1224

华为实训 12/2312/24 12/23 [Huawei]stp enable --开启STP display stp brief --查询STP MSTID Port Role STP State Protection 实例ID 端口 端口角色 端口状态 是否开启保护[Huawei]display stp vlan xxxx --查询制定vlan的生成树计算结…

个人笔记:ORM数据库框架EFCore使用示例,运行通过,附源码

个人笔记:ORM数据库框架EFCore使用示例,运行通过,附源码 0.新建项目1. 设置环境1.1. 添加 NuGet 包1.2. 创建模型类 2. 创建上下文类3. 创建数据库和表3.1. 启用迁移3.2. 更新数据库 4. 插入数据5. 查询数据6. 更新数据7. 删除数据8. 完整示例…

vue 集成 webrtc-streamer 播放视频流 - 解决阿里云内外网访问视频流问题

资料&#xff1a; 史上最详细的webrtc-streamer访问摄像机视频流教程-CSDN博客 webrtc目录 前端集成 html文件夹里的webrtcstreamer.js&#xff0c;集成到前端&#xff0c;可以访问webrtc&#xff0c;转换rtsp为webrtc视频流&#xff0c;在前端video中播放 <videoref&quo…

Unity3D仿星露谷物语开发5之角色单例模式

1、目的 使用单例模式创建角色对象&#xff0c;保证整个游戏中只有一个角色&#xff0c;并且让游戏对象具有全局可访问性。 2、流程 &#xff08;1&#xff09;创建SingletonMonobehaviour脚本 Assets下创建Scripts目录用于存放所有的脚本&#xff0c;再创建Misk子目录&…

DevNow x Notion

前言 Notion 应该是目前用户量比较大的一个在线笔记软件&#xff0c;它的文档系统也非常完善&#xff0c;支持多种文档格式&#xff0c;如 Markdown、富文本、表格、公式等。 早期我也用过一段时间&#xff0c;后来有点不习惯&#xff0c;就换到了 Obsidian &#xff0c;但是…

hCaptcha 图像识别 API 对接说明

hCaptcha 图像识别 API 对接说明 本文将介绍一种 hCaptcha 图像识别 API 对接说明&#xff0c;它可以通过用户输入识别的内容和 hCaptcha验证码图像&#xff0c;最后返回需要点击的小图像的坐标&#xff0c;完成验证。 接下来介绍下 hCaptcha 图像识别 API 的对接说明。 申请…

Move AI技术浅析(二):输入与预处理

一、视频输入模块 1.1 视频输入步骤详解 视频输入模块的主要任务是接收视频数据&#xff0c;并将其转换为后续处理所需的格式。具体步骤&#xff1a; 1.1.1 视频读取 步骤&#xff1a;从文件系统、网络流或摄像头读取视频数据。技术&#xff1a;使用 OpenCV 的 cv2.VideoCa…

Jenkins 任意文件读取(CVE-2024-23897)修复及复现

Jenkins任意文件读取漏洞CVE-2024-23897修复及复现 漏洞详情影响范围漏洞复现修复建议 Jenkins是一个开源软件项目&#xff0c;是基于Java开发的一种持续集成工具&#xff0c;用于监控持续重复的工作&#xff0c;旨在提供一个开放易用的软件平台&#xff0c;使软件项目可以进行…

远程控制macOS一直卡在100%,能连接上了却只显示了壁纸?

前言 前段时间有个朋友过来咨询关于Windows使用第三方远程软件&#xff08;向日葵、Todesk等&#xff09;远程连接控制macOS系统&#xff0c;但出现了一些奇奇怪怪的问题。 比如在连接的时候&#xff0c;一直卡在100%连接&#xff0c;对方的电脑却已经显示已经被控制的状态。…

Datawhale AI 冬令营学习笔记-零编程基础制作井字棋小游戏

井字棋小游戏是通过豆包MarsCode实现的&#xff0c;没有改动任何的代码&#xff0c;全部是通过对话让AI进行优化和改进。 开始进入正题&#xff1a;进入豆包MarsCode在线IDE&#xff0c;直接点击上方蓝字&#xff0c;或复制链接打开: 豆包 MarsCode - 编程助手。 IDE界面&…