主頁 > 資料庫 > Mysql用戶與權限操作

Mysql用戶與權限操作

2020-09-29 03:07:38 資料庫

1.用戶與權限概述

用戶是資料庫的使用者和管理者,
MySQL通過用戶的設定來控制資料庫操作人員的訪問與操作范圍
服務器中名為mysqI的資料庫,用于維護資料庫的用戶以及權限的控制和管理,
MySQL中的所有用戶資訊都保存在mysql.user資料表中,

根據mysql.user表欄位的功能可將其分為6類

  • 客戶端訪問服務器的賬號欄位

Host和User欄位共同組成的復合主鍵用于區分MySQL中的賬戶,

  1. User欄位用于代表用戶的名稱
  2. Host欄位表示允許訪問的客戶端IP地址或主機地址
  3. 當Host的值為“*”時,表示所有客戶端的用戶都可以訪問,
mysql> SELEC Thost, user FROM mysql.user;

在這里插入圖片描述

root:默認的超級用戶,
session: MySQL5.7新增用戶,用于用戶身份驗證,
sys:MySQL5.7新增用戶,用于系統模式物件的定義,防止DBA(資料庫管理員)重命名或洗掉root用戶時發生錯誤,

  • 身份驗證欄位

在MySQL5.7中,mysql.user表中已不再包含Password欄位,而是使用plugin和authentication_string欄位保存用戶身份驗證的資訊,

  1. plugin欄位用于指定用戶的驗證插件名稱
  2. authentication_string欄位是根據plugin指定的插件演算法對賬戶明文密碼(如123456)加密后的字串
mysql> SELECT plugin,authentication_string FROM mysql.user
->WHERE user='root';

在這里插入圖片描述

MySQL中root用戶的默認驗證插件名為mysql_native_password,
authentication_string欄位保存的則是一串不能看出具體含義的值,相對于能夠直接看懂的明文密碼(如123456),它是經過加密處理的暗碼,
其他與身份驗證的賬號密碼相關的欄位還有password_expired(密碼是否過期)、password_last_changed(密碼最后一次修改的時間)以及password_lifetime(密碼的有效期),

  • 安全連接的欄位

判斷當前連接是否符合SSL安全協議,

  1. ssl_type:用于保存安全連接的型別,它的可選值有"(空)、ANY(任意型別)、X509(X509證書)、SPECIFIED(規定的)四種,
  2. ssl_cipher:用于保存安全加密連接的特定密碼
  3. x509_issuer:保存由CA簽發的有效的X509證書
  4. x509_subject:保存包含主題的有效X509證書
mysql>SHOW VARIABLES LIKE 'have_openssl';

在這里插入圖片描述

  • 資源限制的欄位
  1. 以“max_”開頭的欄位,保存對用戶可使用的服務器資源的限制,
  2. 用來防止用戶登錄MySQL服務器后的不法或不合規范的操作浪費服務器的資源,
  3. 用戶資源限制欄位默認值均為0,表示對此用戶沒有任何的資源限制,
欄位含義
max_ _questions保存每小時允許用戶執行查詢操作的最多次數
max_ updates保存每小時允許用戶執行更新操作的最多次數
max_ connections保存每小時允許用戶建立連接的最多次數
max_ user_ connections保存允許單個用戶同時建立連接的最多數量
  • 權限欄位

以“priv”結尾的欄位一共有29個,這些欄位保存了用戶的全域權限,如Select_ priv 查詢權限、Insert_ priv插入權限,Update_ priv更 新權限等,
user表對應的權限欄位的資料型別都是ENUM列舉型別,取值只有N或Y兩種

  1. N表示該用戶沒有對應權限,默認值都為N,
  2. Y表示該用戶有對應權限,
  • 賬戶是否鎖定的欄位

account_ locked字 段用于保存當前用戶是鎖定、還是解鎖狀態,

  1. 該欄位是一個列舉型別,當其值為N時表示解鎖,此用戶可以用于連接服務器,
  2. 當其值為Y時表示該用戶已被鎖定,不能用于連接服務器使用,

2.用戶管理

1.創建用戶

  • 由于MySQL中所有用戶的資訊都保存在mysql.user表中,創建用戶可以直接利用root用戶登錄MySQL服務器后,向mysql.user表中插入記錄,但是在開發中為保證資料的安全,并丕推茬使用此方式創建用戶,
  • 采用MySQL提供的CREATE USER陳述句創建用戶,
  • 使用CREATE USER陳述句每創建一個 新用戶,都會在mysql.user表中添加一條記錄,同時服務器會自動修改相應的授權表
  • 該陳述句創建的新用戶默認情況下沒有任何權限,需要使用GRANT進行授權,

創建用戶語法

CREATE USER [IF NOT EXISTS]
賬戶名[用戶身份驗證選項][,賬戶名[用戶身份驗證選項].
[WITH資源控制選項][密碼管理選項|賬戶鎖定選項]

CREATE USER可以一次創建多個用戶,多個用戶之間使用逗號分隔,
賬戶名是由“用戶名@主機地址”組成,
其余選項在創建用戶時,若未設定則使用默認值
用戶名的設定不能超過32個字符,且區分大小寫,但是主機地址不區分大小寫,

選項默認值
用戶身份驗證選項由default_ authentication _plugin 系統變數定義的插件進行身份驗證
加密連接協議選項NONE
資源控制選項N (表示無限制)
密碼管理選項PASSWORD EXPIRE DEFAULT
用戶鎖定選項ACCOUNT UNLOCK
  • 用戶身份驗證選項的設定僅適用于其前面的用戶名,可將其理解為某個用戶的私有屬性,
  • 其余的選項對宣告中的所有用戶都有效,可以將其理解為全域屬性,
1.創建最簡單的用戶
mysql> CREATE USER' test1' ;
Query OK, 0 rows af fected .(0.00 sec)
mysql> SELECT host, user FROM mysql . user;

在這里插入圖片描述

2.創建含有密碼的用戶
mysql> CREATE USER 'test2' @ 'localhost' IDENTIFIED BY ' 123456' ;
Query OK,0 rows affected (0.00 sec)

在這里插入圖片描述

3.同時創建多個用戶
mysql> CREATE USER
-> 'test3'@' localhost' IDENTIFIED BY '333333' ,
-> 'test4'@' localhost' IDENTIFIED BY '444444' ;
Query OK,0 rows affected (0.01 sec)

多個用戶之間使用逗號分隔,
在創建每個用戶時可以單獨為其設定密碼,省略用戶身份驗證選項時,表明此用戶在登錄服務器時可以免密登錄,但為了保證資料安全,不推薦用戶這樣做,

在創建用戶時,可以添加WITH直接為用戶指定可操作的資源范圍,如登錄的用戶在一小時內可以查詢資料的次數等,

選項描述
MAX_ QUERIES PER_ HOUR在任何一個小時內,允許此用戶執行多少次查詢
MAX_ UPDATES_ PER_ HOUR在任何一個小時內,允許此用戶執行多少次更新
MAX_ CONNECTIONS_ PER_ HOUR在任何一個小時內,允許此用戶執行多少次服務器連接
MAX_ USER_ CONNECTIONS限制用戶同時連接服務器的最大數量

MAX_USER_CONNECTIONS選 項的值為0時,服務器將根據max_ user_ connections 系統變數的值確定用戶的同時連接數,若此變數值也為0,表示對該用戶沒有限制,
MAX_QUERIES_PER_HOUR選項不會計算從快取中查詢資料的次數,

例:限制其每小時最多可以更新10次

mysql> CREATE USER
-> 'test5'@' localhost' IDENTIFIED BY ' 555555'
-> WITH MAX_ UPDATES_ _PER_ HOUR 10;
Query OK,0 rows affected (0.00 sec)

查看user表的max_ updates欄位

mysql> SELECT max_ _updates FROM user WHERE user='test5' ;
+-------------+
|max_ updatesI|
+-------------+
|	  10	  | 
1 row in set (0.00 sec)

2.修改密碼

  • ALTER USER是更改密碼的首選SQL陳述句,推薦使用,
  • 第2種語法可能會被記錄到服務器的日志或客戶端的歷史檔案中,會有密碼泄露.的風險,因此建議用戶盡量少的使用此方式設定密碼,
為指定用戶設定密碼
mysql> ALTER USER 'test1' @ '&' IDENTIFIED BY '123456' ;
Query 0K,0 rows affected (0.00 sec)
為登錄戶設定密碼
mysql> ALTER USER USER() IDENTIFIED BY '000000' ;
Query 0K,0 rows affected (0.00 sec)

3.修改用戶

用戶創建完成后,管理員可以通過MySQL提供的專門SQL陳述句修改用戶的密碼身份驗證的方式資源限制密碼的屬性、以及賬戶的鎖定和解鎖的狀態

ALTER USER [IF EXISTS]
賬戶名[用戶身份驗證選項][,賬戶名[用戶身份驗證選項]].
[WITH資源限制選項][密碼管理選項|賬戶鎖定選項]

ALTER USER可同時修改一個或多個用戶,多個用戶之間使用逗號(,)分隔,
語法中選項的可選值與創建用戶時的選項完全相同,
每個修改的用戶,都會更新其在mysql.user表中對應的欄位值,而未修改的欄位仍然保留它原來的值,

例:修改用戶驗證插件、密碼以及密碼過期時間

mysql> ALTER USER test1
-> IDENTIFIED WITH sha256_ password BY '111111 '
-> PASSWORD EXPIRE;
Query OK,0 rows affected (0.01 sec)

查看修改后戶的密碼

mysq1> SELECT authentication_ string FROM mysql. user
-> WHERE user='test1' AND plugin= 'sha256_ password'

在這里插入圖片描述
解鎖用戶

mysql> ALTER USER 'test7'@ ' localhost' ACCOUNT UNLOCK;
Query 0K,0 rows affected (0.00 sec)

同時修改多個戶資源

mysql> ALTER USER
-> 'test1' IDENTIFIED WITH mysql_native_password,
-> 'test2'@' localhost' IDENTIFIED BY '222222'
-> WITH max_ _user_ connections 2;
Query 0K,0 rows affected (0.00 sec)

4.洗掉用戶

在MySQL中經常會創建多個普通用戶管理資料庫,但如果發現某些用戶是沒有必要的,就可以將其洗掉,通常洗掉用戶的方式采用MySQL提供的專門SQL陳述句

DROP USER [IF EXISTS]賬戶名[,賬戶名]

例:

mysql> DROP USER IE EXISTS test7;
Query 0K,0 rows affected, 1 warning (0.01 sec) .
#在洗掉賬戶時,如果省略主機地址,則默認為%’,

當DROP USER陳述句洗掉當前正在打開的用戶時,則該用戶的會話不會被自動關閉,只有在該用戶會話關閉后,洗掉操作才會生效,再次登錄將會失敗,另外,利用已洗掉的用戶登錄服務器創建的資料庫或物件不會因此洗掉操作而失效,

3.權限管理

資料表描述
user保存用戶被授予的全域權限
db保存用戶被授子的資料庫權限
tables_ priv保存用戶被授子的表權限
columns_priv保存用戶被授子的列權限
procs_priv保存用戶被授予的存盤程序權限
proxies_priv保存用戶被授予的代理權限

1.授予權限

根據權限的操作內容可將權限大致分為資料權限、結構權限以及管理權限,

權限權限級別描述
SELECT全域、資料庫、表、列SELECT
UPDATE全域、資料庫、表、列UPDATE
DELETE全域、資料庫、表DELETE
INSERT全域、資料庫、表、列INSERT
SHOW DATABASES全域SHOW DATABASES
SHOW VIEW全域、資料庫、表SHOW CREATE VIEW
PROCESS全域SHOW PROCESSLIST
DROP全域、資料庫、表允許洗掉資料庫、表和視圖
CREATE全域、資料庫、表創建資料庫、表
CREATE ROUTINE全域、資料庫創建存盤程序
CREATE TABLESPACE全域允許創建、修改或洗掉表空間和日志檔案組
CREATE TEMPORARY TABLES全域、資料庫CREATE TEMPORARY TABLE
CREATE VIEW全域、資料庫、表允許創建或修改視圖
ALTER全域、資料庫、表ALTER TABLE
ALTER ROUTINE全域、資料庫、存盤程序允許洗掉或修改存盤程序
INDEX全域、資料庫、表允許創建或洗掉索引
TRIGGER全域、資料庫、表允許觸發器的所有操作
REFERENCES全域、資料庫、表、列允許創建外鍵
SUPER全域允許使用其他管理操作,如CHANGE MASTER TO等
CREATE USER全域DROP USER、CREATE USER、RENAME USER和REVOKEALL、PRIVILEGES等
GRANT OPTION全域、資料庫、表、存盤程序、代理允許授予或洗掉用戶權限
RELOAD全域FLUSH操作
PROXY與代理的用戶權限相同
REPLICATION CLIENT全域允許用戶訪問主服務器或從服務器
REPLICATION SLAVE全域允許復制從服務器讀取的主服務器二進制日志事件
SHUTDOWN全域允許使用mysqladmin shutdown
LOCK TABLES全域、資料庫允許在有SELECT表權限上使用LOCK TABLES

權限級別指的就是權限可以被應用在哪些資料庫的內容中,

例如,SELECT權限可以被授予到全域(任意資料庫下的任意內容)、資料庫(指定資料庫下的任意內容)、表(指定資料庫下的指定資料表)、列(指定資料庫.下的指定資料表中的指定欄位),

GRANT 權限型別[欄位串列][,權限型別[欄位串列] ...
ON [目標型別]權限級別
TO 賬戶名[用戶身份驗證選項] [,賬戶名[用戶身份驗證選項]
...
[REQUIRE 連接方式]
[WITH {GRANT OPTION |資源控制選項}]
  • 權限型別:指的就是SELECT、DROP、CREATE等權限,
  • 欄位串列:用于設定列權限,
  • 目標型別:默認為TABLE,表示將全域、資料庫、表或列中的某些權限授予給指定的用戶,其他值為FUNCTION (函式)或PROCEDURE (存盤程序),
  • 權限級別:用于定義全域權限、資料庫權限和表權限,
  • 添加GRANT OPTION: 表示當前賬戶可以為其他賬戶進行授權,
  • 其余各引數均與CREATE USER中的用戶選項相同,這里不再贅述,

例:查看root用戶和test1用戶的授權情況

mysql>SHOW GRANTS FOR root'' localhost' ;

在這里插入圖片描述

mysql> SHOW GRANTS FOR 'test1' @ '%' ;

在這里插入圖片描述

  • ALL_PRIVILEGES表示除GRANT OPTION (授權權限)和PROXY (代理權限)外的所有權限,
  • USAGE表示沒有任何權限,
  • ON后的*.*表示全域級別的權限,即MySQL 服務器下的所有資料庫下的所有表,“@"表示任何主機中的匿名用戶,

例:授予test1戶shop.sh_ goods表的SELECT權限,以及對name和price欄位的插入權限

mysql> GRANT SELECT, INSERT (name, price)
-> ON shop.sh goods
-> TO 'test1 '@'號';
Query 0K,0 rows affected (0.00 sec)

查看權限的保存情況

mysql> SELECT db, table name, table priv, column_priv
-> FROM mysq1.tables priv WHERE user = 'test1' ;

在這里插入圖片描述

mysql> SELECT db, table name , column name , column_priv
-> FROM mysql.columns_ priv WHERE user= ' test1' ;

在這里插入圖片描述

2.回收權限

在MySQL中,為了保證資料庫的安全性,需要將用戶不必要的權限回收,
例如,資料管理員發現某個用戶不應該具有DELETE權限,就應該及時將其識訓,.

#①回收指定用戶的指定權限
REVOKE權限型別[(欄位串列)] [,權限型別[(欄位串列)]]
ON [目標型別]權限級別FROM賬戶名[,賬戶名] ....
#②回收所有權限以及可為其他用戶授權的權限
REVOKE ALL [PRIVIL EGES], GRANT OPTION FROM賬戶名[,賬戶名]
#③回收用戶的代理權限
REVOKE PROXY ON賬戶名FROM賬戶名1[,賬戶名2] ...

回收test1用戶的插入權限

mysq1> REVOKE INSERT (name, price)
-> ON shop.sh_ _goods FROM ' test1' @ '%' ;
Query OK, 0 rows affected (0.00 sec)

test1用戶登錄MySQL服務器,并插入資料

mysql> INSERT INTO shop.sh_ goods (name, price) VALUES('test', 23);
ERROR 1142 (42000):INSERT command denied to user ' test1'@ 'localhost' for table 'sh_goods'

3.重繪權限

重繪權限:指的是從系統資料庫mysq|中的權限表中重新加載用戶的權限,
原因在于: GRANT、CREATE USER等操作會將服務器的快取資訊保存到記憶體中,而REVOKE、DROP USER操作并不會同步到記憶體中,因此可能會造成服務器記憶體的消耗,所以在REVOKE、DROP USER后推薦讀者使用MySQL提供的“FLUSH PRIVILEGES"重新加載用戶的權限,

#方式1
FLUSH PRIVIL.EGES;
#方式2
mysqladmin -uroot -p reload
#方式3
mysqladmin -uroot -p flush-privileges

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/136512.html

標籤:其他

上一篇:Java 7 HashMap 詳解

下一篇:win10安裝軟體時顯示:“現在更新設備, 若要繼續接收應用建議,請立即更新”

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • GPU虛擬機創建時間深度優化

    **?桔妹導讀:**GPU虛擬機實體創建速度慢是公有云面臨的普遍問題,由于通常情況下創建虛擬機屬于低頻操作而未引起業界的重視,實際生產中還是存在對GPU實體創建時間有苛刻要求的業務場景。本文將介紹滴滴云在解決該問題時的思路、方法、并展示最終的優化成果。 從公有云服務商那里購買過虛擬主機的資深用戶,一 ......

    uj5u.com 2020-09-10 06:09:13 more
  • 可編程網卡芯片在滴滴云網路的應用實踐

    **?桔妹導讀:**隨著云規模不斷擴大以及業務層面對延遲、帶寬的要求越來越高,采用DPDK 加速網路報文處理的方式在橫向縱向擴展都出現了局限性。可編程芯片成為業界熱點。本文主要講述了可編程網卡芯片在滴滴云網路中的應用實踐,遇到的問題、帶來的收益以及開源社區貢獻。 #1. 資料中心面臨的問題 隨著滴滴 ......

    uj5u.com 2020-09-10 06:10:21 more
  • 滴滴資料通道服務演進之路

    **?桔妹導讀:**滴滴資料通道引擎承載著全公司的資料同步,為下游實時和離線場景提供了必不可少的源資料。隨著任務量的不斷增加,資料通道的整體架構也隨之發生改變。本文介紹了滴滴資料通道的發展歷程,遇到的問題以及今后的規劃。 #1. 背景 資料,對于任何一家互聯網公司來說都是非常重要的資產,公司的大資料 ......

    uj5u.com 2020-09-10 06:11:05 more
  • 滴滴AI Labs斬獲國際機器翻譯大賽中譯英方向世界第三

    **桔妹導讀:**深耕人工智能領域,致力于探索AI讓出行更美好的滴滴AI Labs再次斬獲國際大獎,這次獲獎的專案是什么呢?一起來看看詳細報道吧! 近日,由國際計算語言學協會ACL(The Association for Computational Linguistics)舉辦的世界最具影響力的機器 ......

    uj5u.com 2020-09-10 06:11:29 more
  • MPP (Massively Parallel Processing)大規模并行處理

    1、什么是mpp? MPP (Massively Parallel Processing),即大規模并行處理,在資料庫非共享集群中,每個節點都有獨立的磁盤存盤系統和記憶體系統,業務資料根據資料庫模型和應用特點劃分到各個節點上,每臺資料節點通過專用網路或者商業通用網路互相連接,彼此協同計算,作為整體提供 ......

    uj5u.com 2020-09-10 06:11:41 more
  • 滴滴資料倉庫指標體系建設實踐

    **桔妹導讀:**指標體系是什么?如何使用OSM模型和AARRR模型搭建指標體系?如何統一流程、規范化、工具化管理指標體系?本文會對建設的方法論結合滴滴資料指標體系建設實踐進行解答分析。 #1. 什么是指標體系 ##1.1 指標體系定義 指標體系是將零散單點的具有相互聯系的指標,系統化的組織起來,通 ......

    uj5u.com 2020-09-10 06:12:52 more
  • 單表千萬行資料庫 LIKE 搜索優化手記

    我們經常在資料庫中使用 LIKE 運算子來完成對資料的模糊搜索,LIKE 運算子用于在 WHERE 子句中搜索列中的指定模式。 如果需要查找客戶表中所有姓氏是“張”的資料,可以使用下面的 SQL 陳述句: SELECT * FROM Customer WHERE Name LIKE '張%' 如果需要 ......

    uj5u.com 2020-09-10 06:13:25 more
  • 滴滴Ceph分布式存盤系統優化之鎖優化

    **桔妹導讀:**Ceph是國際知名的開源分布式存盤系統,在工業界和學術界都有著重要的影響。Ceph的架構和演算法設計發表在國際系統領域頂級會議OSDI、SOSP、SC等上。Ceph社區得到Red Hat、SUSE、Intel等大公司的大力支持。Ceph是國際云計算領域應用最廣泛的開源分布式存盤系統, ......

    uj5u.com 2020-09-10 06:14:51 more
  • es~通過ElasticsearchTemplate進行聚合~嵌套聚合

    之前寫過《es~通過ElasticsearchTemplate進行聚合操作》的文章,這一次主要寫一個嵌套的聚合,例如先對sex集合,再對desc聚合,最后再對age求和,共三層嵌套。 Aggregations的部分特性類似于SQL語言中的group by,avg,sum等函式,Aggregation ......

    uj5u.com 2020-09-10 06:14:59 more
  • 爬蟲日志監控 -- Elastc Stack(ELK)部署

    傻瓜式部署,只需替換IP與用戶 導讀: 現ELK四大組件分別為:Elasticsearch(核心)、logstash(處理)、filebeat(采集)、kibana(可視化) 下載均在https://www.elastic.co/cn/downloads/下tar包,各組件版本最好一致,配合fdm會 ......

    uj5u.com 2020-09-10 06:15:05 more
最新发布
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:33:24 more
  • MySQL中binlog備份腳本分享

    關于MySQL的二進制日志(binlog),我們都知道二進制日志(binlog)非常重要,尤其當你需要point to point災難恢復的時侯,所以我們要對其進行備份。關于二進制日志(binlog)的備份,可以基于flush logs方式先切換binlog,然后拷貝&壓縮到到遠程服務器或本地服務器 ......

    uj5u.com 2023-04-20 08:28:06 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:27:27 more
  • 快取與資料庫雙寫一致性幾種策略分析

    本文將對幾種快取與資料庫保證資料一致性的使用方式進行分析。為保證高并發性能,以下分析場景不考慮執行的原子性及加鎖等強一致性要求的場景,僅追求最終一致性。 ......

    uj5u.com 2023-04-20 08:26:48 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:26:35 more
  • 云時代,MySQL到ClickHouse資料同步產品對比推薦

    ClickHouse 在執行分析查詢時的速度優勢很好的彌補了MySQL的不足,但是對于很多開發者和DBA來說,如何將MySQL穩定、高效、簡單的同步到 ClickHouse 卻很困難。本文對比了 NineData、MaterializeMySQL(ClickHouse自帶)、Bifrost 三款產品... ......

    uj5u.com 2023-04-20 08:26:29 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:25:13 more
  • Redis 報”OutOfDirectMemoryError“(堆外記憶體溢位)

    Redis 報錯“OutOfDirectMemoryError(堆外記憶體溢位) ”問題如下: 一、報錯資訊: 使用 Redis 的業務介面 ,產生 OutOfDirectMemoryError(堆外記憶體溢位),如圖: 格式化后的報錯資訊: { "timestamp": "2023-04-17 22: ......

    uj5u.com 2023-04-20 08:24:54 more
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:24:03 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:23:11 more