MYSQL——事務(wù)&DCL管理用戶 授權(quán)

事務(wù)的基本介紹

概念

如果一個包含多個步驟的業(yè)務(wù)操作,被事務(wù)管理臭埋,那么這些操作要么同時成功要么同時失敗

操作

  1. 開啟事務(wù) start transcation
  2. 回滾 rollback
  3. 提交 commit
 CREATE TABLE account (
''             id INT PRIMARY KEY AUTO_INCREMENT,
''             NAME VARCHAR(10),
''             balance DOUBLE
''         );
''         -- 添加數(shù)據(jù)
''         INSERT INTO account (NAME, balance) VALUES ('zhangsan', 1000), ('lisi', 1000);
'' 
'' 
''         SELECT * FROM account;
''         UPDATE account SET balance = 1000;
''         -- 張三給李四轉(zhuǎn)賬 500 元
'' 
''         -- 0. 開啟事務(wù)
''         START TRANSACTION;
''         -- 1. 張三賬戶 -500
'' 
''         UPDATE account SET balance = balance - 500 WHERE NAME = 'zhangsan';
''         -- 2. 李四賬戶 +500
''         -- 出錯了...
''         UPDATE account SET balance = balance + 500 WHERE NAME = 'lisi';
'' 
''         -- 發(fā)現(xiàn)執(zhí)行沒有問題,提交事務(wù)
''         COMMIT;
'' 
''         -- 發(fā)現(xiàn)出問題了灾测,回滾事務(wù)
''         ROLLBACK;

MySQL數(shù)據(jù)庫中事務(wù)默認自動提交
一條DML語句會自動提交一次事務(wù)
手動提交:需要先開啟事務(wù)糯俗,再提交
查看事務(wù)提交方式
SELECT @@autocommit;
1---代表自動提交 0---代表手動提交

事務(wù)的四大特征

  1. 原子性:是不可分割的最小操作單位,要么同時成功徐伐,要么同時失敗
  2. 持久性:當事務(wù)提交或回滾后,數(shù)據(jù)庫會持久化的保存數(shù)據(jù)募狂。
  3. 隔離性:多個事務(wù)之間办素,相互獨立。
  4. 一致性:事務(wù)操作前后祸穷,數(shù)據(jù)總量不變性穿。

事務(wù)的隔離級別

概念

多個事務(wù)之間隔離的,相互獨立的雷滚。但是如果多個事務(wù)操作同一批數(shù)據(jù)需曾,則會引發(fā)一些問題,設(shè)置不同的隔離級別就可以解決這些問題祈远。

存在問題

  • 臟讀:一個事務(wù)呆万,讀取到另一個事務(wù)中沒有提交的數(shù)據(jù)
  • 不可重復(fù)讀(虛讀):在同一個事務(wù)中,兩次讀取到的數(shù)據(jù)不一樣绊含。
  • 幻讀:一個事務(wù)操作(DML)數(shù)據(jù)表中所有記錄桑嘶,另一個事務(wù)添加了一條數(shù)據(jù)炊汹,則第一個事務(wù)查詢不到自己的修改躬充。

隔離級別:

  1. read uncommitted:讀未提交
  • 產(chǎn)生的問題:臟讀、不可重復(fù)讀讨便、幻讀
  1. read committed:讀已提交
  • 產(chǎn)生的問題:不可重復(fù)讀充甚、幻讀
  1. repeatable read:可重復(fù)讀 (MySQL默認)
  • 產(chǎn)生的問題:幻讀
  1. serializable:串行化
  • 可以解決所有問題

隔離級別從小到大安全性越來越高,但是效率越來越低

  • 數(shù)據(jù)庫查詢隔離級別
    • select @@tx_iso;ation
  • 數(shù)據(jù)庫設(shè)置隔離級別
    • set global transaction isolation level read committed 級別字符串

DCL 數(shù)據(jù)庫管理與授權(quán)

管理用戶

  1. 添加用戶
  • 語法:CREATE USER '用戶名'@'主機名' IDENTIFIED BY '密碼’;
    1. 刪除用戶
  • 語法 DROP USER '用戶名'@'主機名';
    1. 修改用戶密碼(8以下版本適用霸褒,8以上版本)
  • 語法 UPDATE USER SET PASSWIRD = PASSWORD('新密碼') WHERE USER = '用戶名';
  • 8版本以上:
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密碼';
    1. 查詢用戶
use mysql;
SELECT * FROM USER;

注意:在DCL語句中 %代表任意主機

授權(quán)

查詢權(quán)限

  • 語法 SHOW GRANTS FOR '用戶名'@‘主機名’;

授予權(quán)限

  • 語法 GRANT 權(quán)限列表 on 數(shù)據(jù)庫名.表名 to '用戶名'@'主機名';
    授予所有權(quán)限在所有數(shù)據(jù)庫:
  • all:代表所有權(quán)限
  • *:代表數(shù)據(jù)庫通配符 . 代表所有數(shù)據(jù)庫所有數(shù)據(jù)表
    ···
    grant SELECT on db1.stu to 'macwx'@'%';
    ···

刪除權(quán)限

  • 語法 :revoke 權(quán)限類別 on 數(shù)據(jù)庫名.表名 from '用戶名'@'主機名';
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末伴找,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子废菱,更是在濱河造成了極大的恐慌技矮,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件殊轴,死亡現(xiàn)場離奇詭異衰倦,居然都是意外死亡,警方通過查閱死者的電腦和手機旁理,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進店門樊零,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人孽文,你說我怎么就攤上這事驻襟《峒瑁” “怎么了?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵沉衣,是天一觀的道長郁副。 經(jīng)常有香客問我,道長豌习,這世上最難降的妖魔是什么霞势? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮斑鸦,結(jié)果婚禮上愕贡,老公的妹妹穿的比我還像新娘。我一直安慰自己巷屿,他們只是感情好固以,可當我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著嘱巾,像睡著了一般憨琳。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上旬昭,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天篙螟,我揣著相機與錄音,去河邊找鬼问拘。 笑死遍略,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的骤坐。 我是一名探鬼主播绪杏,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼纽绍!你這毒婦竟也來了蕾久?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤拌夏,失蹤者是張志新(化名)和其女友劉穎僧著,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體障簿,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡盹愚,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了卷谈。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片杯拐。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出端逼,到底是詐尸還是另有隱情朗兵,我是刑警寧澤,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布顶滩,位于F島的核電站余掖,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏礁鲁。R本人自食惡果不足惜盐欺,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望仅醇。 院中可真熱鬧冗美,春花似錦、人聲如沸析二。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽叶摄。三九已至属韧,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蛤吓,已是汗流浹背宵喂。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留会傲,地道東北人锅棕。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像唆铐,于是被迫代替她去往敵國和親哲戚。 傳聞我的和親對象是個殘疾皇子奔滑,可洞房花燭夜當晚...
    茶點故事閱讀 44,781評論 2 354

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

  • ORA-00001: 違反唯一約束條件 (.) 錯誤說明:當在唯一索引所對應(yīng)的列上鍵入重復(fù)值時艾岂,會觸發(fā)此異常。 O...
    我想起個好名字閱讀 5,312評論 0 9
  • 一朋其、Python簡介和環(huán)境搭建以及pip的安裝 4課時實驗課主要內(nèi)容 【Python簡介】: Python 是一個...
    _小老虎_閱讀 5,744評論 0 10
  • 為了充分發(fā)揮MySQL的性能并順利地使用王浴,就必須理解其設(shè)計。MySQL的靈活性體現(xiàn)在很多方面梅猿。例如氓辣,你可以通過配置...
    李文文丶閱讀 1,174評論 0 4
  • MySQL [TOC] 注釋 單行注釋: -- 多行注釋 :/* */ SQL分類 DDL :Data Defin...
    一昂Jone閱讀 243評論 0 0
  • --- layout: post title: "如果有人問你關(guān)系型數(shù)據(jù)庫的原理,叫他看這篇文章(轉(zhuǎn))" date...
    藍墜星閱讀 790評論 0 3