linux項目之mariadb(一)

一 mariadb簡介

MariaDB數(shù)據(jù)庫管理系統(tǒng)是MySQL的一個分支,主要由開源社區(qū)在維護型诚,采用GPL授權許可MariaDB的目的是完全兼容MySQL逢捺,包括API和命令行丧没,使之能輕松成為MySQL的代替品。在存儲引擎方面沼死,使用XtraDB(英語:XtraDB)來代替MySQL的InnoDB着逐。
MariaDB基于事務的Maria存儲引擎,替換了MySQL的MyISAM存儲引擎意蛀,它使用了Percona的XtraDB耸别,InnoDB的變體


二 mariadb支持事務transaction

事務(Transaction):組織多個操作為一個整體,要么全部執(zhí)行县钥,要么全部不執(zhí)行秀姐。但是必須遵循ACID原則:A(原子性)C(一致性)I(隔離性)D(持久性)。

三 RDMBS設計范式基礎

設計關系數(shù)據(jù)庫時若贮,遵從不同的規(guī)范要求省有,設計出合理的關系型數(shù)據(jù)庫,這些不同的規(guī)范要求被稱為不同的范式谴麦,各種范式呈遞次規(guī)范蠢沿,越高的范式數(shù)據(jù)庫冗余越小。
目前關系數(shù)據(jù)庫有六種范式:第一范式(1NF)匾效、第二范式(2NF)舷蟀、第三范式(3NF)、巴德斯科范式(BCNF)、第四范式(4NF)和第五范式(5NF野宜,又稱完美范式)碗殷。滿足最低要求的范式是第一范式(1NF)。在第一范式的基礎上進一步滿足更多規(guī)范要求的稱為第二范式(2NF)速缨,其余范式以次類推。一般說來代乃,數(shù)據(jù)庫只需滿足第三范式(3NF )即可旬牲。

  • 1NF:每一列都是不可分割的基本數(shù)據(jù)項,同一列中不能有多個值搁吓,即實體中的某個屬性不能有多個值或者不能有重復的屬性原茅。除去同類型的字段,就是無重復的列
  • 2NF:第二范式必須先滿足第一范式堕仔,要求表中的每個行必須可以被唯一地區(qū)分擂橘。通常為表加上一個列,以存儲各個實例的唯一標識PK摩骨。非PK的字段需要與整個PK有直接的相關性通贞。
  • 3NF:滿足第三范式必須先滿足第二范式。第三范式要求一個數(shù)據(jù)庫表中不包含已在其它表中已包含的非主關鍵字信息恼五,非PK的紫毒案件不能有從屬關系

四 約束

  • 約束:constraint 昌罩,表中的數(shù)據(jù)要遵守的限制
  • 主鍵:一個或多個字段的組合,填入的數(shù)據(jù)必須能在本表中唯一標識本行灾馒;必須提供數(shù)據(jù)茎用,即NOT NULL ,一個表只能存在一個
  • 惟一鍵:一個或多個字段的組合睬罗,填入的數(shù)據(jù)必須能在本表中唯一標識本行轨功;允許為NULL ,一個表可以存在多個
  • 外鍵:一個表中的某字段可填入的數(shù)據(jù)取決于另一個表的主鍵或唯一鍵已有的數(shù)據(jù)
  • 檢查:字段值在一定范圍內(nèi)

五 索引

將表中的某一個或某些字段抽取出來容达,單獨將其組織到一個獨特的數(shù)據(jù)結構中
常用的索引類型:樹型  hash(只有使用MEMORY引擎的表才能使用)實現(xiàn)級別在存儲引擎,應該創(chuàng)建在經(jīng)常用作查詢條件的字段上古涧,索引有助于讀請求,但不利于寫請求

六 SQL語句

DDL: Data Defination Language

CREATE, DROP, ALTER

# 創(chuàng)建數(shù)據(jù)庫
CREATE DATABASE|SCHEMA [IF NOT EXISTS] 'DB_NAME';
CHARACTER SET 'character set name'
COLLATE 'collate name'
# 刪除數(shù)據(jù)庫
DROP DATABASE|SCHEMA [IF EXISTS] 'DB_NAME';
DROP TABLE [IF EXISTS] tb_name花盐;
# 修改數(shù)據(jù)庫
ALTER TABLE 'tbl_name'
添加字段:add
ADD col1 data_type [FIRST|AFTER col_name]
刪除字段:drop
修改字段:
alter (默認值), change (字段名), modify

DML: Data Manipulation Language

INSERT, DELETE, UPDATE

# 插入數(shù)據(jù)
INSERT [INTO] tbl_name [(col_name,...)]
{VALUES | VALUE} (val1,...),(...),...
# 刪除數(shù)據(jù)
DELETE FROM tbl_name [WHERE clause] [ORDER BY'col_name'[DESC]][LIMIT [m,]n];
# 更新數(shù)據(jù)
UPDATE tbl_name SET col1=val1, col2=val2, ...[WHERE clause] [ORDER BY 'col_name' [DESC]][LIMIT [m,]n];

DCL :Data Control Language

GRANT, REVOKE

# 授權
GRANT priv_type,... ON [object_type] db_name.tb_name TO 'user'@'host' [IDENTIFIED BY 'password'] [WITH GRANT OPTION];
# 回收授權
REVOKE priv_type, ... ON db_name.tb_name FROM 'user'@'host

注意:MariaDB 服務進程啟動時會讀取mysql 庫中所有授權表至內(nèi)存
(1)GRANT或REVOKE等執(zhí)行權限操作會保存于系統(tǒng)表中蒿褂,MariaDB的服務進程通常會自動重讀授權表,使之生效
(2)對于不能夠或不能及時重讀授權表的命令卒暂,可手動讓MariaDB的服務進程重讀授權表:FLUSH PRIVILEGES;
DQL :Data Query Language
SELECT
# 數(shù)據(jù)提取 SELECTcol1,col2,...FROMtbl_name[WHEREclause][ORDERBY'col_name'[DESC]] [LIMIT [m,]n];

七 密碼問題

當你剛剛創(chuàng)建數(shù)據(jù)庫的時候有較大的安全漏洞啄栓,所以需要運行一個內(nèi)置命令mysql_secure_installation按照提示給數(shù)據(jù)庫創(chuàng)建密碼,和刪除test.database(測試庫)刪除匿名用戶也祠,是否確定遠程登陸昙楚、是否刪除,最后一定要重新加載表的權限诈嘿。
忘記管理員密碼的解決辦法:

  (1) 啟動mysqld進程時堪旧,使用--skip-grant-tables和--skip-networking選項削葱;
  CentOS 7:mariadb.service
  CentOS 6:/etc/init.d/mysqld
  改完后,systemctl daemon-reload
  (2) 通過UPDATE命令修改管理員密碼淳梦; 
  (3) 以正常方式啟動mysqld進程
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末析砸,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子爆袍,更是在濱河造成了極大的恐慌首繁,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件陨囊,死亡現(xiàn)場離奇詭異弦疮,居然都是意外死亡,警方通過查閱死者的電腦和手機蜘醋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門胁塞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人压语,你說我怎么就攤上這事啸罢。” “怎么了胎食?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵伺糠,是天一觀的道長。 經(jīng)常有香客問我斥季,道長训桶,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任酣倾,我火速辦了婚禮舵揭,結果婚禮上,老公的妹妹穿的比我還像新娘躁锡。我一直安慰自己午绳,他們只是感情好,可當我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布映之。 她就那樣靜靜地躺著拦焚,像睡著了一般。 火紅的嫁衣襯著肌膚如雪杠输。 梳的紋絲不亂的頭發(fā)上赎败,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天,我揣著相機與錄音蠢甲,去河邊找鬼僵刮。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的搞糕。 我是一名探鬼主播勇吊,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼窍仰!你這毒婦竟也來了汉规?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤驹吮,失蹤者是張志新(化名)和其女友劉穎针史,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體钥屈,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年坝辫,在試婚紗的時候發(fā)現(xiàn)自己被綠了篷就。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡近忙,死狀恐怖竭业,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情及舍,我是刑警寧澤未辆,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站锯玛,受9級特大地震影響咐柜,放射性物質發(fā)生泄漏。R本人自食惡果不足惜攘残,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一拙友、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧歼郭,春花似錦遗契、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至泰涂,卻和暖如春鲫竞,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背逼蒙。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工贡茅, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓顶考,卻偏偏與公主長得像赁还,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子驹沿,可洞房花燭夜當晚...
    茶點故事閱讀 42,792評論 2 345

推薦閱讀更多精彩內(nèi)容