一、 請介紹數據庫管理系統的種類及表明產品mysql
RDBMS: mysql oracle mssqlredis
NoSQL: redis mongoab memcachesql
二、 請簡述數據庫管理系統的做用數據庫
數據存儲,管理數據,備份恢復,安全性,權限管理,json
三、 請簡述RDBMS和NoSQL的特性對比centos
RDBMS:強大的查詢功能、強一致性、二級索引、支持事務。支持SQL緩存
NoSQL:靈活性強,可擴展,性能高,支持分佈式。不支持SQL,json安全
四、 請簡述數據庫啓動報錯的基本處理思路oracle
(1)命令行有沒有報錯socket
(2)錯誤日誌
五、 簡述實例的構成
進程+多個線程+預分配內存結構
六、 簡述SQL的執行過程(鏈接層——SQL層——存儲引擎層)
鏈接層:提供鏈接協議(TCP/IP 、 socket)
驗證用戶的合法性
接收SQL語句,並傳遞給SQL層
SQL:接收鏈接層傳來的SQL語句
判斷語法(若是語法有錯,報語法錯誤)
判斷語義
解析器
優化器
執行器
提供一個專用線程和存儲引擎層交互
若是有緩存,記錄到緩存,記錄日誌
存儲引擎層:接收SQL層傳來的SQL語句
去文件中取出相應數據
結構化成表,返回給SQL
七、 mysql命令經常使用options
-u用戶名 -p密碼 -h主機域 -S socket文件 -P端口 -e 執行SQL
-u:指定用戶
-p:指定密碼
-h:指定主機
-P:指定端口
-S:指定sock
-e:指定SQL
八、 簡述my.cnf文件的功能
影響實例啓動
影響客戶端鏈接
九、 列出mysql啓動和關閉的方法
centos6:/etc/init.d/mysqld start stop
centos7:systemctl start stop mysqld
mysqld_safe &
mysqladmin -u -p shutdown
十、 簡述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 加上這個參數以上配置文件均不讀取
十一、請簡述忘記root用戶密碼的解決思路
(1)先停庫
(2)mysqld_safe –skip-grant-tables –skip-networking &
(3)連庫(mysql)
(4)使用update修改密碼
十二、請寫出MySQL中修改密碼的方法(不須要寫出具體SQL)
(1)update
(2)set
(3)grant
(4)mysqladmin
1三、請歸納MySQL的邏輯結構
庫,表,元數據,列
1四、請歸納MySQL的物理結構(一句話說明)
Mysql的物理結構就是最底層的數據文件
1五、企業中開發讓你開MySQL的用戶,請簡述開用戶的流程及思路
開發人員說:請給我開一個用戶
溝通:
一、你須要對哪些庫、表進行操做
二、你從哪裏鏈接過來
三、用戶名有沒有要求
四、密碼要求
五、發郵件
開發人員說:Root用戶給我唄??
溝通: what?
1六、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’
1七、請說出下列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.
1八、請概述MySQL中的段、區、頁概念?
段: 多個區構成的
區:多個頁構成
頁:mysql中最小單位(16k爲一頁)
1九、什麼是分區表?
一個區構成一個段就是分區表。
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;