【MySQL基礎-1】MySQL 用戶管理指南:創建用戶、修改密碼與權限分配

MySQL 作為廣泛使用的關系型數據庫管理系統,用戶管理和權限分配是其核心功能之一。合理創建用戶、修改密碼以及分配權限,不僅能保障數據庫的安全性,還能有效控制用戶的操作范圍。本文將詳細介紹如何在 MySQL 中創建用戶、修改用戶密碼以及分配權限。


1. 創建用戶

在 MySQL 中,創建用戶主要通過 CREATE USER 語句實現。以下是創建用戶的基本語法:

CREATE USER 'username'@'host' IDENTIFIED BY 'password';
  • username:要創建的用戶名。
  • host:允許用戶連接的主機名或 IP 地址。localhost 表示僅允許本地連接,% 表示允許任意主機連接。
  • password:用戶的密碼。

1.1 示例

創建一個名為 testuser 的用戶,允許其從任意主機連接,并設置密碼為 mypassword

sql

復制

CREATE USER 'testuser'@'%' IDENTIFIED BY 'mypassword';

2. 修改用戶密碼

MySQL 提供了多種修改用戶密碼的方式,以下是常用的兩種方法:

2.1 方法 1:使用 ALTER USER 語句(推薦)

從 MySQL 5.7.6 開始,推薦使用 ALTER USER 語句修改用戶密碼:

ALTER USER 'username'@'host' IDENTIFIED BY 'new_password';
2.1.1 示例

testuser 用戶的密碼修改為 newpassword

ALTER USER 'testuser'@'%' IDENTIFIED BY 'newpassword';

2.2 方法 2:使用 SET PASSWORD 語句

在較早版本的 MySQL 中,可以使用 SET PASSWORD 語句修改密碼:

SET PASSWORD FOR 'username'@'host' = PASSWORD('new_password');
2.2.1 示例

testuser 用戶的密碼修改為 newpassword

SET PASSWORD FOR 'testuser'@'%' = PASSWORD('newpassword');

注意PASSWORD() 函數在 MySQL 5.7.6 及以上版本中已被棄用,建議使用 ALTER USER


3. 分配權限

創建用戶后,需要為其分配適當的權限。MySQL 提供了 GRANT 語句來分配權限。基本語法如下:

GRANT privileges ON database.table TO 'username'@'host';
  • privileges:要分配的權限,如 SELECTINSERTUPDATEDELETEALL PRIVILEGES 等。
  • database.table:權限作用的數據庫和表。*.* 表示所有數據庫和表。
  • usernamehost:要分配權限的用戶和主機。

3.1 示例

testuser 用戶分配對 mydatabase 數據庫中所有表的 SELECTINSERT 權限:

GRANT SELECT, INSERT ON mydatabase.* TO 'testuser'@'%';

3.2 刷新權限

分配權限后,需使用 FLUSH PRIVILEGES 語句刷新權限,使更改立即生效:

FLUSH PRIVILEGES;

4. 查看用戶權限

可以使用 SHOW GRANTS 語句查看用戶的權限:

SHOW GRANTS FOR 'username'@'host';

4.1 示例

查看 testuser 用戶的權限:

SHOW GRANTS FOR 'testuser'@'%';

5. 撤銷權限

如果需要撤銷用戶的某些權限,可以使用 REVOKE 語句:

REVOKE privileges ON database.table FROM 'username'@'host';

5.1 示例

撤銷 testuser 用戶對 mydatabase 數據庫的 INSERT 權限:

REVOKE INSERT ON mydatabase.* FROM 'testuser'@'%';

6. 刪除用戶

如果不再需要某個用戶,可以使用 DROP USER 語句刪除:

DROP USER 'username'@'host';

6.1 示例

刪除 testuser 用戶:

DROP USER 'testuser'@'%';

7. 最佳實踐

  1. 最小權限原則:只授予用戶完成其任務所需的最小權限,避免過度授權。
  2. 定期審查權限:定期檢查用戶權限,確保權限分配合理。
  3. 使用強密碼:為用戶設置強密碼,防止密碼被破解。
  4. 限制主機訪問:盡量限制用戶的主機訪問范圍,避免不必要的遠程訪問。
  5. 定期修改密碼:建議定期修改用戶密碼,以增強安全性。

8. 總結

通過本文,您已經掌握了在 MySQL 中創建用戶、修改用戶密碼、分配權限、查看權限、撤銷權限以及刪除用戶的基本操作。合理管理用戶和權限是保障數據庫安全的重要措施,建議在實際操作中遵循最佳實踐,確保數據庫的安全與穩定。

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

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

相關文章

影刀RPA編碼版與流程版解析

影刀RPA編碼版是影刀RPA的一個高級版本,它結合了流程版的可視化操作和編碼版的強大靈活性,以下是對影刀RPA編碼版的詳細介紹: 1. 功能對比 流程版: 可視化操作:通過拖拽式流程設計器,用戶可以像搭積木一樣…

20天 - TCP 和 UDP 有什么區別?說說 TCP 的三次握手?TCP 是用來解決什么問題?

TCP 和 UDP 有什么區別? TCP(傳輸控制協議)和 UDP(用戶數據報協議)都是傳輸層的網絡協議,它們的主要區別如下: 連接方式 TCP:面向連接的協議,類似于打電話&#xff0c…

【MySQL_05】語法簡述(是語法,不詳細介紹各種語句)

文章目錄 一、基本規則二、標識符規則三、數據類型四、運算符五、關鍵字六、SQL 語句的通用語法結構 歷史文章點擊👉:SQL 🐈??github:https://github.com/mysql 💻官網: https://www.mysql.com &#…

JavaScript中的生成器函數詳解

在 JavaScript 中,生成器函數 Generator Function 是一種特殊的函數,它允許你在函數執行過程中暫停和恢復。生成器函數通過 function* 語法定義,并使用 yield 關鍵字來控制函數的執行流程。生成器函數返回一個生成器對象,該對象遵…

計算機網絡——交換機

一、什么是交換機? 交換機(Switch)是局域網(LAN)中的核心設備,負責在 數據鏈路層(OSI第二層)高效轉發數據幀。它像一位“智能交通警察”,根據設備的 MAC地址 精準引導數…

Git合并工具在開發中的使用指南

在團隊協作開發中,Git 是最常用的版本控制工具,而代碼合并(Merge)是多人協作不可避免的環節。當多個開發者同時修改同一文件的相同區域時,Git 無法自動完成合并,此時需要借助合并工具(Merge Too…

實現多語言適配

1.在res下創建多語言資源文件: 2.選擇需要的語言 然后得到多種語言適配string文件: 3.代碼設置多語言 object LanguageHelper {/*** 獲取適配的 Context*/fun getAttachBaseContext(context: Context): Context {return if (Build.VERSION.SDK_INT > …

【學習方法一】

學習方法一 一、通用高效學習法二、學科專項方法三、工具與技術輔助四、習慣與心理策略五、避免常見誤區總結六、進階學習策略七、解決學習痛點八、場景化學習法九、資源與工具推薦十、個性化學習調整十一、長期學習心態十二、常見問題QA十三、應對特殊挑戰的學習法十四、健康與…

Golang學習筆記_44——命令模式

Golang學習筆記_41——觀察者模式 Golang學習筆記_42——迭代器模式 Golang學習筆記_43——責任鏈模式 文章目錄 一、核心概念1. 定義2. 解決的問題3. 核心角色4. 類圖 二、特點分析三、適用場景1. 事務管理系統2. 多媒體遙控器3. 操作審計系統 四、Go語言實現示例五、高級應用…

應急響應--流量分析

(一)Cobalt Strike流量特征分析 1.HTTP特征 源碼特征: 在流量中,通過http協議的url路徑,在checksum8解密算法計算后,32位的后門得到的結果是92,64位的后門得到的結果是93,該特征符…

CI/CD—Jenkins配置一次完整的jar自動化發布流程

背景: 實現設想: 要創建自動化發布,需要準備一臺測試服務器提前安裝好java運行所需的環境,JDK版本最好和Windows開發機器上的版本一致,在Jenkins上配置將構建好的jar上傳到測試服務器上,測試服務器自動啟動…

創建分區表ORA-14037

1、故障現象 在跑腳本的時候創建物化試圖提示分區界限過高 2、解決方法 最終原因是:缺少了 這個 r34411分區,加上就好。 判斷是物化視圖創建的時候需要兼容所有分區的數據,所以報錯,而分區表則不存在這種情況 3、測試驗證 分區…

轉和git subtree管理方式為git submodule的管理方式

將 Git 子樹(subtree)轉換為子模塊(submodule)的步驟如下: 1. 確定子樹的路徑和對應的遠程倉庫地址 找到當前項目中子樹的路徑以及對應的遠程倉庫地址。例如,假設子樹的路徑為 subtree-folder&#xff0c…

基于51單片機多功能防盜報警系統

基于51單片機多功能防盜報警系統( proteus仿真程序設計報告原理圖講解視頻) 1. 主要功能:2. 講解視頻:3. 仿真4. 程序代碼5. 設計報告6. 原理圖7. 設計資料內容清單&&下載鏈接 仿真圖proteus8.9及以上 程序編譯器:keil 4/…

R語言和RStudio安裝

整體還是比較簡單的,主要是記錄個流程。 官方鏡像站列表R語言官網 1 安裝R(2025/3/6) R語言官網:The R Project for Statistical Computing 打開之后就Hello world一下吧 配置環境變量 2 安裝RStudio 下載地址:htt…

Ubuntu 22.04 升級到 Ubuntu 24.04 全流程指南

📌 1. 前言 Ubuntu 24.04 是最新的 LTS 版本,帶來了內核更新、性能優化以及更強的安全性。本指南詳細記錄了從 Ubuntu 22.04 升級到 24.04 的完整過程,包括 升級前的準備、遇到的問題及如何選擇最佳選項,避免升級失敗或系統損壞。…

【每日學點HarmonyOS Next知識】Web跨域資源、Web長按菜單、Web攔截請求、禁止錄屏、Base64圖片寬高

1、HarmonyOS Web組件本地資源跨域問題? 關于資源跨域問題的解決,可以參考以下官網文檔:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/web-cross-origin-V5 方法一 為了使Web組件能夠成功訪問跨域資源,開…

數據庫查問題常用OS命令匯總

1、內存使用情況查看 top //查看活躍進程占用情況 free -mh //查看操作系統當前可用內存 2、cpu使用情況 lscpu //查看os cpu情況 sar -u -f sar文件名 -s hh:mm:ss -e hh:mm:ss //查看對應日期的歷史cpu情況 top //查看當前活躍進程使用cpu情況 3、io情況 iostat …

nlp培訓重點-5

1. LoRA微調 loader: # -*- coding: utf-8 -*-import json import re import os import torch import numpy as np from torch.utils.data import Dataset, DataLoader from transformers import BertTokenizer """ 數據加載 """cl…

CI/CD—Jenkins配置Maven+GitLab自動構建jar包

一、安裝Maven插件通過Maven構建項目 1、在Jenkins上安裝Maven Integration plugin插件 2、創建一個maven項目 2.1、填寫構建的名稱和描述等 2.2、填寫連接git的url 報錯:無法連接倉庫:Error performing git command: git ls-remote -h http://192.168.…