美文网首页
2019-06-24 (未完成,待续)

2019-06-24 (未完成,待续)

作者: Ffvc | 来源:发表于2019-06-24 11:05 被阅读0次

    Mysql第一阶段考试

    一、简答题

    1.简述你们公司使用的MySQL版本,并说明具体小版本及GA时间?
    5.7的版本 
    5.7.18
    5.7.26
    5.7.20
    GA时间2017年9月13日
    
    2.请介绍你熟悉的数据库关系系统的种类和代表产品名称?
    关系型数据库:
    Mysql、Oracle、MSSQL
    非关系型数据库:
    mongodb、Redis
    NewSQL:
    TiDB、
    
    3.请简述MySQL二进制安装重点步骤?
    创建用户
    卸载mariaDB
    配置环境变量
    创建数据路径并授权
    初始化数据库
    配置启动文件
    
    4.怎么确认数据库启动成功了?
    netstat -lnp | grep 3306
    ss -lnp | grep 3306
    ps -ef | grep mysql
    
    5.简述你了解的MySQL分支版本情况?
    
    
    6.请简述mysqld的程序结构(1条SQL语句的执行过程)
    连接层:
    验证用户密码,连接协议,提供连接线程
    SQL:
    验证语义、语法、权限、解析、优化、执行
    存储引擎层:
    类似Linux文件系统,从磁盘读取数据
    
    7.请简述你了解的MySQL的启动方式
    systemctl start mysqld
    /etc/init.d/mysqld start
    
    8.简述MySQL配置文件默认读取顺序
    9.mysqld_safe --default-files=/opt/my.cnf &是什么作用?
    指定配置文件并后台运行
    
    10.忘记管理员root的密码处理过程,请对参数详细说明
    关闭数据库:
    /etcinit.d/mysqld stop
    维护模式登陆:
    myqld_safe --skip-grant-tables --skip-networking &
    登陆数据库:
    mysql
    刷新权限:
    flush privileges;
    重新设定密码:
    alter user root@'localhost' identified by '123';
    重启数据库:
    /etc/init.d/mysqld srestart
    
    11.请列举SQL语句的常用种类
    DDL:定义语言
    DQL:查询语言
    DML:操作语言
    DCL:控制语言
    
    12.请说明聚集索引和辅助索引的区别
    (1)聚集索引只有一个,非空且唯一,辅助索引可以有多个
    (2)聚集索引叶子节点存储的是整行数据
    (3)Mysql是根据聚集索引组织存储数据,数据存储时是按照聚集索引顺序进行存储
    
    13.请简述以下语句执行计划可能存在的问题

    阐述以下语句可能存在的问题,并提出合理解决方案


    image.png
    Using filesort ,索引设置不合理导致的
    解决方案为:
    重新设置联合索引
    alter table city add index idx_co_po(countrycode,population);
    

    简述出现以下结果的可能原因

    image.png
    图1:
    type为ALL,说明查询未走索引
    解决方案:
    alter table tab add index idx_telnum(telnum);
    
    图2:
    key_len为63
    
    14. 请简述,影响索引树高度的因素
    (1)数据行数
    (2)索引列值的长度
    (3)数据类型:char、varchar
    (4)enum
    
    15.请说明数据库启动失败的处理思路?
    Mysql不能正常启动一般去情况都是undating PID文件导致的。
    首先先查找错误日志:主机名.err
    找到[error]记录,分析相关的报错 信息。
    可能的原因会有:
    配置文件的路径不对
    sock文件被删除
    相关目录权限不对
    等
    
    16. MySQL索引的种类都有哪些?
    算法分类:
    B树索引
    R树索引
    hash索引
    
    17. 你了解的MySQL存储引擎种类有哪些?
    innodb存储引擎:
    frm      ibd
    myisam存储引擎:
    frm      MYI      MYD
    TokuDB
    
    18.InnoDB存储引擎核心特性
    事务
    自动故障修复
    热备
    MVCC
    行级锁
    外键
    

    二、操作题

    1.创建管理员用户:oldboy能通过10.0.0.0/24网段任意地址登录管理MySQL。
    create user oldboy@'10.0.0.%' identified by '123';
    
    2.创建应用用户:wordpress能通过172.16.1.0/24网段任意地址登录操作wordpress库下的所有表。
    grant delete,incert,select,update on wordpress.* to wrodpress@'172.16.1.%';
    
    3.请写出/etc/my.cnf的基础配置信息
    [mysqld]
    user=mysql
    basedir=/application/mysql
    datadir=/data/mysql/data
    server_id=6
    socket=/tmp/mysql.sock
    port=3306
    [mysql]
    socket=/tmp/mysql.sock
    
    4.请写出使用oldboy用户远程登录MySQL的具体语句
    mysql -uoldboy -p -h
    
    5.查看当前数据库的字符集
    show charset;
    
    6. 创建GBK字符集的数据库oldboy,并查看已建库完整语句
    create database oldboy charset GBK;
    
    7. 请分别介绍 NOT NULL default auto_increament 的作用。
    NOT NULL:非空
    default:默认值(一般为0)
    auto_increament:自增
    
    8. 创建用户oldboy,使之可以管理数据库oldboy
    grant ALL to oldboy.* to oldboy@'localhost' identified by '123';
    
    9. 收回oldboy用户的drop权限
    revoke drop on oldboy.* from oldboy@'localhost';
    
    10. 查看创建的用户oldboy拥有哪些权限
    show grants for oldboy@'localhost';
    
    11. 查看建表结构及表结构的SQL语句
    show create table 表名;
    
    12. 插入一条数据“1,oldboy”
    insert into 表名 values (1,'oldboy');
    
    13.再批量插入2行数据“c”,“3,oldboyedu”
    insert into 表名 values 
    (2,'老男孩')
    (3,'oldlboyedu')
    
    14.查询名字为oldboy的记录
    select * from 表名 where name='oldboy';
    
    15. 查看数据库中所有引擎的类型
    show engings;
    
    16.查看数据库关于日志的参数配置
    log_error=/data/mysql/data/mysql.log 
    log_bin=/data/mysql/data/mysql-bin 
    
    17.查看handler_read_key当前的状态信息
    show status like 'handler_read_key';
    
    18.列出删除表中数据的方式
    delete from 表名 where 列名;
    trucate
    
    19.test表中,有id、name、shouji列。把id列设置为主键,在Name字段上创建普通索引。
    create table test (
    id int not null primary key comment '学号',
    name varchar(255) not null comment '姓名',
    shouji varchar(11) not null comment '手机号',
    )engine innodb charset utf8md4;
    alter table test add index idx_name(name);
    
    20. 在手机字段上对前8个字符创建普通索引
    alter table test add index idx_sh(shouji(8));
    
    21.查看创建的索引及索引类型等信息
    show index from test;
    
    22.删除Name,shouji列的索引
    alter table test drop index idx_name;
    alter table test drop index idx_sh;
    
    23.对Name列的前6个字符以及手机列的前8个字符组建联合索引
    alter table test add index idx_na_sh(name(6),shouji(8));
    
    24. 将shouji列索引替换为唯一键索
    alter table test add unique index idx_sh(shouji)
    
    25.如何查看world数据库下city表中population列的重复值情况
    select population,count(id) from world.city group by population having count(id)>1 order by count(id) desc;
    
    26. 请列出explain命令中type中多种类型
    
    
    27.Select查询语句加强练习

    统计世界上每个国家的总人口数.

    select countrycode,sum(population) from world.city group by countrycode;
    

    统计中国各个省的总人口数量

    select District,sum(population) from world.city where countrycode='CHN' group by District;
    

    统计世界上每个国家的城市数量

    select countrycode,count(id) from world.city group by countrycode;
    

    统计中国每个省的总人口数,将总人口数小于100w进行从高到低排序显示

    select District,sum(population) from world.city where countrycode='CHN' group by District having sum(population)<1000000 order by sum(population) desc;
    
    28.生成整个数据库下的所有表的单独备份语句
    select concat("mysqldump -uroot -p123 ",table_schema," ",table_name," >/tmp/",table_schema,"_",table_name,".sql") from information_schema.tables where table_schema not in ('sys','performance','information_scheema');
    

    相关文章

      网友评论

          本文标题:2019-06-24 (未完成,待续)

          本文链接:https://www.haomeiwen.com/subject/qyngqctx.html