MySQL(83)如何設置密碼復雜度策略?

在 MySQL 中,可以通過配置密碼策略來設置密碼的復雜度要求。MySQL 提供了一些參數和插件來幫助管理員強制實施密碼復雜度策略,確保數據庫用戶使用強密碼。下面將詳細介紹如何設置密碼復雜度策略,并結合代碼示例進行說明。

1. 使用 validate_password 插件

validate_password 插件是 MySQL 提供的一個插件,用于驗證密碼的復雜度。通過啟用和配置該插件,可以控制密碼的長度、字符種類和其他復雜度要求。

1.1 啟用 validate_password 插件

在 MySQL 配置文件 (my.cnfmy.ini) 中啟用 validate_password 插件。

編輯 MySQL 配置文件,在 [mysqld] 部分添加以下內容:

[mysqld]
plugin_load_add=validate_password.so

或者,如果 MySQL 已經運行,可以使用以下 SQL 命令手動加載插件:

INSTALL PLUGIN validate_password SONAME 'validate_password.so';
1.2 配置 validate_password 插件參數

validate_password 插件提供了一些參數,用于配置密碼復雜度策略:

  • validate_password.length:密碼的最小長度。
  • validate_password.mixed_case_count:密碼中包含的大小寫字符的最少數量。
  • validate_password.number_count:密碼中包含的數字的最少數量。
  • validate_password.special_char_count:密碼中包含的特殊字符的最少數量。
  • validate_password.policy:密碼策略級別,可以是 LOW、MEDIUM 或 STRONG。

可以通過以下命令查看和設置這些參數:

-- 查看當前設置
SHOW VARIABLES LIKE 'validate_password%';-- 設置密碼的最小長度
SET GLOBAL validate_password.length = 12;-- 設置密碼中包含的大小寫字符的最少數量
SET GLOBAL validate_password.mixed_case_count = 1;-- 設置密碼中包含的數字的最少數量
SET GLOBAL validate_password.number_count = 1;-- 設置密碼中包含的特殊字符的最少數量
SET GLOBAL validate_password.special_char_count = 1;-- 設置密碼策略級別
SET GLOBAL validate_password.policy = MEDIUM;
示例: 配置密碼復雜度策略
SET GLOBAL validate_password.length = 12;
SET GLOBAL validate_password.mixed_case_count = 1;
SET GLOBAL validate_password.number_count = 1;
SET GLOBAL validate_password.special_char_count = 1;
SET GLOBAL validate_password.policy = MEDIUM;

2. 使用 caching_sha2_password 插件

caching_sha2_password 插件是 MySQL 提供的另一個插件,用于增強密碼的安全性。雖然它主要用于密碼加密和認證,但也可以結合 validate_password 插件使用,以確保密碼的安全性和復雜度。

在 MySQL 配置文件 (my.cnfmy.ini) 中啟用 caching_sha2_password 插件。

編輯 MySQL 配置文件,在 [mysqld] 部分添加以下內容:

[mysqld]
default_authentication_plugin=caching_sha2_password

然后重啟 MySQL 服務:

sudo service mysql restart

3. 創建和修改用戶時設置密碼

在創建或修改用戶時,可以應用已配置的密碼復雜度策略:

-- 創建用戶并設置密碼
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'Complex@1234';-- 修改用戶密碼
ALTER USER 'newuser'@'localhost' IDENTIFIED BY 'NewComplex@1234';

4. 驗證密碼復雜度策略

當你嘗試創建或修改用戶密碼時,如果密碼不符合復雜度要求,MySQL 將返回錯誤信息。例如:

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'simple';
-- 返回錯誤:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

5. 完整的密碼復雜度策略設置示例腳本

以下是一個完整的示例腳本,展示了如何啟用和配置密碼復雜度策略,以及創建和修改用戶密碼。

-- 啟用 validate_password 插件(如果尚未啟用)
INSTALL PLUGIN validate_password SONAME 'validate_password.so';-- 設置密碼復雜度策略
SET GLOBAL validate_password.length = 12;
SET GLOBAL validate_password.mixed_case_count = 1;
SET GLOBAL validate_password.number_count = 1;
SET GLOBAL validate_password.special_char_count = 1;
SET GLOBAL validate_password.policy = MEDIUM;-- 查看當前密碼策略設置
SHOW VARIABLES LIKE 'validate_password%';-- 啟用 caching_sha2_password 插件(在配置文件中啟用后重啟 MySQL 服務)
-- 配置文件中添加:default_authentication_plugin=caching_sha2_password-- 創建用戶并設置符合策略的密碼
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'Complex@1234';-- 修改用戶密碼
ALTER USER 'newuser'@'localhost' IDENTIFIED BY 'NewComplex@1234';

小結

通過使用 validate_password 插件和配置相關參數,可以有效地設置和強制實施 MySQL 數據庫的密碼復雜度策略。這樣可以確保用戶使用符合安全要求的強密碼,增強數據庫的安全性。結合實際需求和安全策略,靈活運用這些命令和技巧來管理和配置 MySQL 數據庫的密碼復雜度策略。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/84568.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/84568.shtml
英文地址,請注明出處:http://en.pswp.cn/web/84568.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

如何使用postman做接口自動化測試?

🍅 點擊文末小卡片,免費獲取軟件測試全套資料,資料在手,漲薪更快 本文適合已經掌握 Postman 基本用法的讀者,即對接口相關概念有一定了解、已經會使用Postman 進行模擬請求等基本操作。 工作環境與版本: …

面試-操作系統

用戶態和內核態的區別 內核態:在內核態下,CPU可以執行所有的指令和訪問所有的硬件資源。 用戶態:在用戶態下,CPU只能執行部分指令集,無法直接訪問硬件資源。 內核態的底層操作主要包括:內存管理、進程管理…

【基礎算法】二分(二分查找 + 二分答案)

文章目錄 一、二分查找1. 【案例】在排序數組中查找元素的第一個和最后一個位置 ?(1) 二分查找的引入(2) 解題細節(important)(3) 代碼示例(4) 【模板】二分查找(5) STL 中的二分查找 2. 牛可樂和封印魔法 ??(1) 解題思路(2) 代碼實現 3. A-B 數對 ?…

多協議物聯網關的方案測試-基于米爾全志T536開發板

本文將介紹基于米爾電子MYD-LT536開發板(米爾基于全志T536開發板)的多協議物聯網關方案的開發測試。 摘自優秀創作者-ALSET 米爾基于全志T536開發板 為了充分的應用該開發板,結合T536處理器的特點,這里進一步的進行軟件開發&…

echarts的還原,下載圖片失效(空白圖片,還原白屏)

echarts的toolbox.feature. restore 和toolbox.feature. saveAsImage 失效 也沒有任何報錯, 只需要修改: // chart.setOption(op); chart.setOption(op,true);

56-Oracle SQL Tuning Advisor(STA)

各位小伙伴,一般都用哪些優化工具,Oracle SQL Tuning Advisor (STA)用的多嗎,Profile就是它的其中1個產物,下一期再弄Profile,STA 的核心功能是自動化診斷高負載SQL的性能瓶頸?(如全表掃描、缺失索引&…

修改element-plus的主題色css變量

提示:本文僅是記錄我修改element-plus等組件庫的css變量, 具體【實現主題色切換看這篇】即可 文章目錄 1.文件劃分2.src/style/index.scss入口文件3.src/style/theme.scss主題色切換維護4.src/style/_color-utils.scss動態生成element-plus的scss變量5.…

Vibe Coding - 進階 Cursor Rules

文章目錄 為什么要配置 .cursorrules使用 .cursorrules 的五大優勢 如何創建與應用 .cursorrules? 基礎步驟🛠 創建方式: 高質量 .cursorrules 文件,應包含以下內容配置示例Java 項目TypeScript React 項目總結 cursorrules 推薦網站 為什么…

騰訊云自動化助手(TAT)技術評估報告

摘要 騰訊云自動化助手(TAT)作為云服務器(CVM)與輕量應用服務器(Lighthouse)的原生運維工具,通過無密碼批量命令執行(Shell/Python/PowerShell)、交互式會話管理及公共命…

【simulink】IEEE5節點系統潮流仿真模型(2機5節點全功能基礎模型)

主要內容 該模型為simulink仿真模型,主要實現的內容如下: 模型是基于 Simulink 搭建的電力系統潮流計算仿真模型,圍繞2 臺發電機、5 個節點的拓撲結構構建,用于電力系統穩態分析,是電力系統研究、教學及工程實踐中…

責任鏈模式詳解

責任鏈模式 場景 顧名思義,責任鏈模式(Chain of Responsibility Pattern)為請求創建了一個接收者對象的鏈。這種模式給予請求的類型,對請求的發送者和接收者進行解耦。這種類型的設計模式屬于行為型模式。 在這種模式中&#x…

Taro 跨端應用性能優化全攻略:從原理到實踐

引言:為什么需要性能優化? 在當今移動互聯網時代,用戶體驗已經成為決定產品成敗的關鍵因素。根據 Google 的研究,頁面加載時間每增加 1 秒,移動端轉化率就會下降 20%。對于使用 Taro 開發的跨端應用來說,性…

Git集成Jenkins通過Pipeline方式實現一鍵部署

Docker方式部署Jenkins 部署自定義Docker網絡 部署Docker網絡的作用: 隔離性便于同一網絡內容器相互通信 # 創建名為jenkins的docker網絡 docker network create --subnet 172.18.0.0/16 --gateway 172.18.0.1 jenkins# 查看docker網絡列表 docker network ls# …

磐基PaaS平臺MongoDB組件SSPL許可證風險與合規性分析(下)

#作者:任少近 3.7.條款六:非源代碼形式分發 官方原文如下: 原文關鍵部分:“You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License.” 解讀:“您不得…

桌面小屏幕實戰課程:DesktopScreen 2 第一個工程

飛書文檔http://https://x509p6c8to.feishu.cn/docx/doxcnkGhtbxcv8ge5wKFkunsgmm 一、創建工程 cd ~/esp cp -r esp-idf/examples/get-started/hello_world . cd ~/esp/hello_world//設置目標板卡相關 idf.py set-target esp32//可配置工程屬性 idf.py menuconfig 工程源碼…

華為云Flexus+DeepSeek征文|體驗華為云ModelArts快速搭建Dify-LLM應用開發平臺并搭建查詢數據庫的大模型工作流

華為云FlexusDeepSeek征文|體驗華為云ModelArts快速搭建Dify-LLM應用開發平臺并搭建查詢數據庫的大模型工作流 什么是華為云ModelArts 華為云ModelArts ModelArts是華為云提供的全流程AI開發平臺,覆蓋從數據準備到模型部署的全生命周期管理&#xff0c…

【深度學習】TensorFlow全面指南:從核心概念到工業級應用

TensorFlow全面指南:從核心概念到工業級應用 一、TensorFlow:人工智能時代的計算引擎1.1 核心特性與優勢 二、安裝與環境配置2.1 版本選擇建議2.2 GPU支持關鍵組件 三、TensorFlow核心概念解析3.1 數據流圖(Data Flow Graph)3.2 張量(Tensor)&#xff1a…

在VTK中捕捉體繪制圖像進階(同步操作)

0. 概要 這段代碼實現了一個VTK(Visualization Toolkit)應用程序,主要功能是: 讀取DICOM醫學圖像序列并進行體繪制(Volume Rendering)創建一個主窗口顯示3D體繪制結果創建一個副窗口顯示主窗口的2D截圖將副窗口中的交互操作(如旋轉、縮放等)轉發到主窗口,而不影響副窗…

使用NPOI庫導出多個Excel并壓縮zip包

使用NPOI庫導出Excel文件可以按照以下步驟進行: 添加NPOI庫的引用:在項目中添加對NPOI庫的引用。 創建一個新的Excel文件對象:使用NPOI中的HSSFWorkbook(對應.xls格式)或XSSFWorkbook(對應.xlsx格式&#…

【AGI】突破感知-決策邊界:VLA-具身智能2.0

突破感知-決策邊界:VLA-具身智能2.0 (一)技術架構核心(二)OpenVLA:開源先鋒與性能標桿(三)應用場景:從實驗室走向真實世界(四)挑戰與未來方向&…