Mysql入門二十小題(DBA老司機帶你刪庫到跑路)2018.11.26

一、 請介紹數據庫管理系統的種類及表明產品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數據類型 枚舉類型

  1. 修改表中字段

  2. 添加字段(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;

相關文章
相關標籤/搜索