一、选择题
1、MySQL数据库默认的存储引擎是( )
A. InnoDB
B. MyISAM
C. Memory
D. Archive
答案:B
2、下列哪个选项不是MySQL的索引类型?( )
A. B-Tree
B. Hash
C. R-Tree
D. Full-Text
答案:B
3、MySQL中,以下哪个函数用于获取当前时间?( )
A. NOW()
B. CURDATE()
C. CURTIME()
D. DATE()
答案:A
4、在MySQL中,以下哪个选项是正确的创建数据库的语法?( )
A. CREATE DATABASE database_name;
B. CREATE DATABASE database_name COLLATE utf8_general_ci;
C. CREATE TABLE database_name;
D. CREATE DATABASE database_name IF NOT EXISTS;
答案:D
5、下列哪种数据类型可以存储日期和时间?( )
A. VARCHAR
B. INT
C. DATETIME
D. FLOAT
答案:C
6、在MySQL中,以下哪种连接方式返回两个表中的所有匹配行?( )
A. INNER JOIN
B. LEFT JOIN
C. RIGHT JOIN
D. FULL JOIN
答案:A
二、简答题
1、简述你们公司使用的MySQL版本,并说明具体小版本及GA时间?
答案:我们公司目前使用MySQL 5.7.20版本,该版本的GA(Generally Available)时间为XXXX年X月X日。
2、请介绍你熟悉的数据库的种类和代表产品名称?
答案:我熟悉的数据库包括关系型数据库和非关系型数据库,关系型数据库的代表产品有Oracle、MySQL、MSSQL、PostgreSQL;非关系型数据库的代表产品有Redis、MongoDB、Memcached等。
3、请简述MySQL二进制安装重点步骤?
答案:MySQL二进制安装的重点步骤包括:下载、上传、解压;创建用户;创建相关目录并授权;设置环境变量;初始化数据;配置启动脚本。
4、怎么确认数据库启动成功了?
答案:可以通过以下几种方法确认数据库是否启动成功:使用ps -ef | grep mysqld
查看进程;使用netstat -lnp | grep 3306
检查端口监听状态;使用ss -lnp | grep grep 3306
查看套接字状态;使用mysql
命令登录测试。
5、简述你了解的MySQL分支版本情况?
答案:MySQL的主要分支版本包括Oracle MySQL、MariaDB、Percona等,MariaDB是由原MySQL开发团队的部分成员创建的,与MySQL兼容,但增加了一些新的特性;Percona Server则是由Percona公司维护的MySQL分支,提供了一些性能优化和企业级特性。
6、请简述mysqld的程序结构(1条SQL语句的执行过程)?
答案:mysqld程序结构可以分为连接层、SQL层和存储引擎层,一条SQL语句的执行过程如下:通过连接层进行协议验证和专用连接线程处理;SQL层进行语法、语义分析,权限验证,解析,优化,执行,查询缓存和日志记录;存储引擎层负责具体的数据存储和检索操作。
7、请简述MySQL配置文件默认读取顺序?
答案:MySQL配置文件的默认读取顺序为:/etc/my.cnf [client]、/etc/my.cnf [mysqld]、/usr/local/mysql/etc/my.cnf。
8、mysqld_safe –defaults-file=/opt/my.cnf & 是什么作用?
答案:这个命令用于自定义配置文件并以后台进程的方式启动MySQL服务器。--defaults-file=/opt/my.cnf
指定了自定义的配置文件路径,&
表示以后台进程运行。
9、忘记管理员root的密码处理过程,请对参数详细说明?
答案:忘记root密码时,可以通过以下步骤重置密码:跳过授权表启动MySQL服务器(使用--skip-grant-tables
参数),然后使用空密码登录MySQL,更新root用户的认证信息,最后重新启动MySQL服务器。
10、请列举SQL语句的常用种类?
答案:SQL语句的常用种类包括DDL(数据定义语言)、DML(数据操纵语言)、DCL(数据控制语言)和DQL(数据查询语言)。
11、请说明聚集索引和辅助索引的区别?
答案:聚集索引(Clustered Index)是一种特殊的索引,它按照数据的物理顺序存储数据,每个表只能有一个聚集索引;辅助索引(Secondary Index)则是一个独立的索引结构,叶子节点只存储有序的某个列的值,并通过主键值关联到实际数据行。
12、请简述影响索引树高度的因素?
答案:影响索引树高度的因素包括数据量级(分表分库分布式)、索引键值的长度(前缀索引)、数据类型(选择合理的数据类型)等。
13、请简述数据库启动失败的处理思路?
答案:数据库启动失败时,应首先查看日志文件以确定错误原因;如果没有日志文件,可以尝试直接使用mysqld
命令测试启动。
14、MySQL索引的种类都有哪些?
答案:MySQL索引的种类包括B树索引、HASH索引、R树索引等。
15、你了解的MySQL存储引擎种类有哪些?
答案:我了解的MySQL存储引擎种类包括InnoDB、MyISAM、CSV等,InnoDB支持事务处理和外键约束,是MySQL的默认存储引擎。
16、InnoDB存储引擎核心特性?
答案:InnoDB存储引擎的核心特性包括支持事务处理(ACID)、一致性非锁定读(MVCC)、行级锁、外键约束等。
三、操作题
1、创建管理员用户:oldboy能通过10.0.0.0/24网段任意地址登录管理MySQL
GRANT ALL ON *.* TO 'oldboy'@'10.0.0.%' IDENTIFIED BY '123';
2、创建应用用户:wordpress能通过172.16.1.0/24网段任意地址登录操作wordpress库下的所有表
GRANT SELECT,UPDATE,DELETE,INSERT ON wordpress.* TO 'wordpress'@'172.16.1.%' IDENTIFIED BY '123';
3、写出/etc/my.cnf的基础配置信息
[mysqld] user=mysql basedir=/usr/local/mysql datadir=/data/mysql socket=/tmp/mysql.sock server_id=1 port=3306 [mysql] socket=/tmp/mysql.sock
4、写出使用oldboy用户远程登录MySQL的具体语句
mysql -uoldboy -p -h 10.0.0.51 -P3306
5、查看当前数据库的字符集
SHOW CHARSET;
6、创建GBK字符集的数据库oldboy,并查看已建库完整语句
CREATE DATABASE oldboy CHARACTER SET gbk; SHOW CREATE DATABASE oldboy;
7、请分别介绍NOT NULL default auto_increament的作用
答案:NOT NULL表示字段不能为空值;DEFAULT表示字段的默认值;AUTO_INCREMENT表示自动增长字段,每插入一条新记录,该字段值自动加1。
8、创建用户oldboy,使之可以管理数据库oldboy
GRANT ALL ON oldboy.* TO 'oldboy'@'10.0.0.%' IDENTIFIED BY '123';
9、收回oldboy用户的drop权限
REVOKE DROP ON oldboy.* FROM 'oldboy'@'10.0.0.%';
10、查看创建的用户oldboy拥有哪些权限
SHOW GRANTS FOR 'oldboy'@'10.0.0.%';
11、查看表结构及建表的SQL语句
DESC stu; SHOW CREATE TABLE stu;
12、插入一条数据“1,oldboy”
INSERT INTO t1 (id, name) VALUES (1, 'oldboy');
13、再批量插入2行数据“2,老男孩”,“3,oldboyedu”
INSERT INTO t1 (id, name) VALUES (2, '老男孩'), (3, 'oldboyedu');
14、查询名字为oldboy的记录
SELECT * FROM t1 WHERE name='oldboy';
15、查看数据库中所有引擎的类型
SHOW ENGINES;
16、查看数据库关于日志的参数配置
SHOW VARIABLES LIKE '%log%';
17、查看handler_read_key当前的状态信息
SHOW STATUS LIKE 'Handler_read_key';
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1397779.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复