mysql入门到跑路_Mysql入门二十小题(DBA老司机带你删库到跑路)2018.11.26
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;
總結
以上是生活随笔為你收集整理的mysql入门到跑路_Mysql入门二十小题(DBA老司机带你删库到跑路)2018.11.26的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java值栈_Struts2 中的值栈是
- 下一篇: mysql 备份 windows_win