mysql入门到跑路_Mysql入门二十小题(DBA老司机带你删库到跑路)2018.11.26
1、 請(qǐng)介紹數(shù)據(jù)庫(kù)管理系統(tǒng)的種類(lèi)及代表產(chǎn)品
RDBMS: mysql oracle mssql
NoSQL: redis? mongoab? memcache
2、 請(qǐng)簡(jiǎn)述數(shù)據(jù)庫(kù)管理系統(tǒng)的作用
數(shù)據(jù)存儲(chǔ),管理數(shù)據(jù),備份恢復(fù),安全性,權(quán)限管理,
3、 請(qǐng)簡(jiǎn)述RDBMS和NoSQL的特性對(duì)比
RDBMS:強(qiáng)大的查詢(xún)功能、強(qiáng)一致性、二級(jí)索引、支持事務(wù)。支持SQL
NoSQL:靈活性強(qiáng),可擴(kuò)展,性能高,支持分布式。不支持SQL,json
4、 請(qǐng)簡(jiǎn)述數(shù)據(jù)庫(kù)啟動(dòng)報(bào)錯(cuò)的基本處理思路
(1)命令行有沒(méi)有報(bào)錯(cuò)
(2)錯(cuò)誤日志
5、 簡(jiǎn)述實(shí)例的構(gòu)成
進(jìn)程+多個(gè)線程+預(yù)分配內(nèi)存結(jié)構(gòu)
6、 簡(jiǎn)述SQL的執(zhí)行過(guò)程(連接層——SQL層——存儲(chǔ)引擎層)
連接層:提供連接協(xié)議(TCP/IP 、 socket)
驗(yàn)證用戶(hù)的合法性
接收SQL語(yǔ)句,并傳遞給SQL層
SQL:接收連接層傳來(lái)的SQL語(yǔ)句
判斷語(yǔ)法(如果語(yǔ)法有錯(cuò),報(bào)語(yǔ)法錯(cuò)誤)
判斷語(yǔ)義
解析器
優(yōu)化器
執(zhí)行器
提供一個(gè)專(zhuān)用線程和存儲(chǔ)引擎層交互
如果有緩存,記錄到緩存,記錄日志
存儲(chǔ)引擎層:接收SQL層傳來(lái)的SQL語(yǔ)句
去文件中取出相應(yīng)數(shù)據(jù)
結(jié)構(gòu)化成表,返回給SQL
7、 mysql命令常用options
-u用戶(hù)名 -p密碼 -h主機(jī)域 -S? socket文件? -P端口? -e 執(zhí)行SQL
-u:指定用戶(hù)
-p:指定密碼
-h:指定主機(jī)
-P:指定端口
-S:指定sock
-e:指定SQL
8、 簡(jiǎn)述my.cnf文件的功能
影響實(shí)例啟動(dòng)
影響客戶(hù)端連接
9、 列出mysql啟動(dòng)和關(guān)閉的方法
centos6:/etc/init.d/mysqld start stop
centos7:systemctl start stop mysqld
mysqld_safe &
mysqladmin -u -p shutdown
10、 簡(jiǎn)述mysql配置文件讀取順序
/etc/my.cnf
/etc/mysql/my.cnf
$MYSQL_HOME/my.cnf(前提是在環(huán)境變量中定義了MYSQL_HOME變量)
defaults-extra-file=/tmp/my.cnf
~/my.cnf
–defaults-extra-file 加上這個(gè)參數(shù)以上配置文件均不讀取
11、請(qǐng)簡(jiǎn)述忘記root用戶(hù)密碼的解決思路
(1)先停庫(kù)
(2)mysqld_safe –skip-grant-tables –skip-networking &
(3)連庫(kù)(mysql)
(4)使用update修改密碼
12、請(qǐng)寫(xiě)出MySQL中修改密碼的方法(不需要寫(xiě)出具體SQL)
(1)update
(2)set
(3)grant
(4)mysqladmin
13、請(qǐng)概括MySQL的邏輯結(jié)構(gòu)
庫(kù),表,元數(shù)據(jù),列
14、請(qǐng)概括MySQL的物理結(jié)構(gòu)(一句話(huà)說(shuō)明)
Mysql的物理結(jié)構(gòu)就是最底層的數(shù)據(jù)文件
15、企業(yè)中開(kāi)發(fā)讓你開(kāi)MySQL的用戶(hù),請(qǐng)簡(jiǎn)述開(kāi)用戶(hù)的流程及思路
開(kāi)發(fā)人員說(shuō):請(qǐng)給我開(kāi)一個(gè)用戶(hù)
溝通:1、你需要對(duì)哪些庫(kù)、表進(jìn)行操作
2、你從哪里連接過(guò)來(lái)
3、用戶(hù)名有沒(méi)有要求
4、密碼要求
5、發(fā)郵件
開(kāi)發(fā)人員說(shuō):Root用戶(hù)給我唄??
溝通: what?
16、MySQL的用戶(hù)是如何定義的,有哪幾種寫(xiě)法?1) username@’主機(jī)域’
2)主機(jī)域:可以理解為是MySQL登陸的白名單
3)主機(jī)域格式:’10.0.0.51’
’10.0.0.5%’
’10.0.0.%’
’10.0.%.%’
’10.%.%.%’
‘%’
‘db01’
’10.0.0.51/255.255.255.0’
17、請(qǐng)說(shuō)出下列SQL語(yǔ)句的含義:
1)grant all on?.?to user1@’localhost’ identified by ‘123’;
授權(quán):給user1用戶(hù)在本地授權(quán)所有庫(kù),所有表,所有權(quán)限,并且密碼是123.
2)grant update,insert,delete on wordpress.* to user2@’localhost’ identified by ‘123’;
授權(quán):給user1用戶(hù)在本地授權(quán)wordpress庫(kù),所有表,修改,插入,刪除權(quán)限,并且密碼是123.
3)grant select(host,user) on mysql.user to user3@’10.0.0.5%’identified by ‘123’;
授權(quán):給user1用戶(hù)在mysql庫(kù),user表中的host和user字段,查看權(quán)限,并且密碼是123.
18、請(qǐng)概述MySQL中的段、區(qū)、頁(yè)概念?
段: 多個(gè)區(qū)構(gòu)成的
區(qū):多個(gè)頁(yè)構(gòu)成
頁(yè):mysql中最小單位(16k為一頁(yè))
19、什么是分區(qū)表?
一個(gè)區(qū)構(gòu)成一個(gè)段就是分區(qū)表。
20、擴(kuò)展題:
1. 創(chuàng)建一個(gè)庫(kù)(student)
create database student;
2. 在student庫(kù)內(nèi)創(chuàng)建表(stu)
create table stu(id int)
3. 表中字段
a) id 數(shù)據(jù)類(lèi)型 整數(shù)
b) name 數(shù)據(jù)類(lèi)型 varchar
c) sex數(shù)據(jù)類(lèi)型 枚舉類(lèi)型修改表中字段
添加字段(weight 默認(rèn)值 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;
總結(jié)
以上是生活随笔為你收集整理的mysql入门到跑路_Mysql入门二十小题(DBA老司机带你删库到跑路)2018.11.26的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java值栈_Struts2 中的值栈是
- 下一篇: 河南大学计算机与信息工程学院张磊,张磊-