1、 请介绍数据库管理系统的种类及代表产品
RDBMS: mysql oracle mssql
NoSQL: redis mongoab memcache
2、 请简述数据库管理系统的作用
数据存储,管理数据,备份恢复,安全性,权限管理,
3、 请简述RDBMS和NoSQL的特性对比
RDBMS:强大的查询功能、强一致性、二级索引、支持事务。支持SQL
NoSQL:灵活性强,可扩展,性能高,支持分布式。不支持SQL,json
4、 请简述数据库启动报错的基本处理思路
(1)命令行有没有报错
(2)错误日志
5、 简述实例的构成
进程+多个线程+预分配内存结构
6、 简述SQL的执行过程(连接层——SQL层——存储引擎层)
连接层:提供连接协议(TCP/IP 、 socket)
验证用户的合法性
接收SQL语句,并传递给SQL层
SQL:接收连接层传来的SQL语句
判断语法(如果语法有错,报语法错误)
判断语义
解析器
优化器
执行器
提供一个专用线程和存储引擎层交互
如果有缓存,记录到缓存,记录日志
存储引擎层:接收SQL层传来的SQL语句
去文件中取出相应数据
结构化成表,返回给SQL
7、 mysql命令常用options
-u用户名 -p密码 -h主机域 -S socket文件 -P端口 -e 执行SQL
-u:指定用户
-p:指定密码
-h:指定主机
-P:指定端口
-S:指定sock
-e:指定SQL
8、 简述my.cnf文件的功能
影响实例启动
影响客户端连接
9、 列出mysql启动和关闭的方法
centos6:/etc/init.d/mysqld start stop
centos7:systemctl start stop mysqld
mysqld_safe &
mysqladmin -u -p shutdown
10、 简述mysql配置文件读取顺序
/etc/my.cnf
/etc/mysql/my.cnf
$MYSQL_HOME/my.cnf(前提是在环境变量中定义了MYSQL_HOME变量)
defaults-extra-file=/tmp/my.cnf
~/my.cnf
–defaults-extra-file 加上这个参数以上配置文件均不读取
11、请简述忘记root用户密码的解决思路
(1)先停库
(2)mysqld_safe –skip-grant-tables –skip-networking &
(3)连库(mysql)
(4)使用update修改密码
12、请写出MySQL中修改密码的方法(不需要写出具体SQL)
(1)update
(2)set
(3)grant
(4)mysqladmin
13、请概括MySQL的逻辑结构
库,表,元数据,列
14、请概括MySQL的物理结构(一句话说明)
Mysql的物理结构就是最底层的数据文件
15、企业中开发让你开MySQL的用户,请简述开用户的流程及思路
开发人员说:请给我开一个用户
沟通:
- 1、你需要对哪些库、表进行操作
- 2、你从哪里连接过来
- 3、用户名有没有要求
- 4、密码要求
- 5、发邮件
开发人员说:Root用户给我呗??
沟通: what?
16、MySQL的用户是如何定义的,有哪几种写法?
- 1) username@’主机域’
- 2)主机域:可以理解为是MySQL登陆的白名单
- 3)主机域格式:
- ’10.0.0.51’
- ’10.0.0.5%’
- ’10.0.0.%’
- ’10.0.%.%’
- ’10.%.%.%’
- ‘%’
- ‘db01’
- ’10.0.0.51/255.255.255.0’
17、请说出下列SQL语句的含义:
1)grant all on . to user1@’localhost’ identified by ‘123’;
授权:给user1用户在本地授权所有库,所有表,所有权限,并且密码是123.
2)grant update,insert,delete on wordpress.* to user2@’localhost’ identified by ‘123’;
授权:给user1用户在本地授权wordpress库,所有表,修改,插入,删除权限,并且密码是123.
3)grant select(host,user) on mysql.user to user3@’10.0.0.5%’identified by ‘123’;
授权:给user1用户在mysql库,user表中的host和user字段,查看权限,并且密码是123.
18、请概述MySQL中的段、区、页概念?
段: 多个区构成的
区:多个页构成
页:mysql中最小单位(16k为一页)
19、什么是分区表?
一个区构成一个段就是分区表。
20、扩展题:
1. 创建一个库(student)
create database student;
2. 在student库内创建表(stu)
create table stu(id int)
3. 表中字段
a) id 数据类型 整数
b) name 数据类型 varchar
c) sex数据类型 枚举类型
- 修改表中字段
- 添加字段(weight 默认值 0)
alter table stu add name varchar(20),add sex enum(‘f’,’m’);
alter table stu modify sex enum(‘f’,’m’,’xingxing’);
alter table stu add weight int default 0;
https://blog.51cto.com/14082573/2326485